Ejemplo n.º 1
0
        public void InitHeader()
        {
            RepositoryItemHeader = new RepositoryItemHeader()
            {
                Created       = GetUTCDateTime(),
                CreatedBy     = Environment.UserName,
                GingerVersion = GingerVersion.GetCurrentVersion(),
                LastUpdate    = GetUTCDateTime()

                                //TODO: other fields
            };
        }
Ejemplo n.º 2
0
        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
            };
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }