// // Class: VisitId // Current CLR: 4.0.30319.34209 // System: Microsoft Visual Studio 10.0 // Author: dani // Created: 8/12/2015 8:27:03 AM // // Copyright (c) 2015 Informatikbüro Daniel Schick. All rights reserved. using System; using System.IO; using System.Xml; using System.Xml.Serialization; using log4net; namespace bsmd.hisnord { [Serializable] public class VisitId { private string _visitId = null; private static ILog _log = LogManager.GetLogger(typeof(bsmd.hisnord.VisitId)); #region Construction public VisitId(string visitId) { this._visitId = visitId; } public VisitId() { } #endregion #region Properties [XmlAttribute] public string ConveyanceCode { get; set; } [XmlText] public string Value { get; set; } /// /// Extract Guid aus ConveyanceCode /// public Guid? MessageCoreId { get { Guid? result = null; if (this.ConveyanceCode != null) { int startIndex = this.ConveyanceCode.IndexOf('-'); if (startIndex > 0) { Guid tmpGuid; if (Guid.TryParse(this.ConveyanceCode.Substring(startIndex + 1), out tmpGuid)) result = tmpGuid; else if (Guid.TryParse(this.ConveyanceCode, out tmpGuid)) result = tmpGuid; } } return result; } } #endregion #region Deserialization public static VisitId ReadVisitId(string filename) { VisitId aVisitId = null; try { XmlSerializer serializer = new XmlSerializer(typeof(bsmd.hisnord.VisitId)); using (FileStream fs = new FileStream(filename, FileMode.Open)) { aVisitId = (VisitId)serializer.Deserialize(fs); } } catch (Exception ex) { _log.ErrorFormat("Exception occurred during deserialization: {0}", ex.Message); } return aVisitId; } #endregion } }