public void InitHeader() { RepositoryItemHeader = new RepositoryItemHeader() { Created = GetUTCDateTime(), CreatedBy = Environment.UserName, GingerVersion = GingerVersion.GetCurrentVersion(), LastUpdate = GetUTCDateTime() //TODO: other fields }; }
public void InitHeader() { RepositoryItemHeader = new RepositoryItemHeader() { Created = GetUTCDateTime(), CreatedBy = Environment.UserName, GingerVersion = Amdocs.Ginger.Common.GeneralLib.ApplicationInfo.ApplicationMajorVersion, Version = 1, LastUpdateBy = Environment.UserName, LastUpdate = GetUTCDateTime() //TODO: other fields }; }
public static RepositoryItemBase DeserializeFromText(string xml, RepositoryItemBase targetObj = null, string filePath = "") { string encoding = "utf-8"; // make it static or remove string creation //check if we need ms or maybe text reader + do using to release mem var ms = new MemoryStream(Encoding.GetEncoding(encoding).GetBytes(xml)); var xdrs = new XmlReaderSettings() { IgnoreComments = true, IgnoreWhitespace = true, CloseInput = true }; XmlReader xdr = XmlReader.Create(ms, xdrs); xdr.Read(); xdr.Read(); object RootObj; if (xdr.Name == cGingerRepositoryItem) { // New style with header xdr.Read(); // Now we are in the header RepositoryItemHeader RIH = new RepositoryItemHeader(); xdr.MoveToFirstAttribute(); for (int i = 0; i < xdr.AttributeCount; i++) { SetRepositoryItemHeaderAttr(RIH, xdr.Name, xdr.Value); xdr.MoveToNextAttribute(); } // After we are done reading the RI header attrs we moved to the main object xdr.Read(); RootObj = xmlReadObject(null, xdr, targetObj); ((RepositoryItemBase)RootObj).RepositoryItemHeader = RIH; } else { //Item saved by old Serialzier so calling it to load the XML NewReporter.ToConsole(string.Format("New Serialzier is calling Old Serialzier for loading the file: '{0}'", filePath));//add support to write it to log return((RepositoryItemBase)OnNewRepositorySerializerEvent(NewRepositorySerilizerEventArgs.eEventType.LoadWithOldSerilizerRequired, filePath, xml, targetObj)); } return((RepositoryItemBase)RootObj); }
private static void SetRepositoryItemHeaderAttr(RepositoryItemHeader RIH, string name, string value) { if (name == nameof(RepositoryItemHeader.ItemType)) { RIH.ItemType = value; return; } if (name == nameof(RepositoryItemHeader.GingerVersion)) { RIH.GingerVersion = value; return; } if (name == nameof(RepositoryItemHeader.CreatedBy)) { RIH.CreatedBy = value; return; } if (name == nameof(RepositoryItemHeader.Created)) { RIH.Created = DateTime.ParseExact(value, cDateTimeXMLFormat, CultureInfo.InvariantCulture); return; } if (name == nameof(RepositoryItemHeader.Version)) { RIH.Version = int.Parse(value); return; } if (name == nameof(RepositoryItemHeader.LastUpdateBy)) { RIH.LastUpdateBy = value; return; } if (name == nameof(RepositoryItemHeader.LastUpdate)) { RIH.LastUpdate = DateTime.ParseExact(value, cDateTimeXMLFormat, CultureInfo.InvariantCulture); return; } if (name == nameof(RepositoryItemHeader.ItemGuid)) { RIH.ItemGuid = Guid.Parse(value); return; } throw new Exception("Unknown attribue in repository header: " + name); }