コード例 #1
0
        public void checkSerializationOfEntity()
        {
            var entity = new Entity {
                Name = "TEXT_COMBO-ENABLED ", Value = "AKTYWNY", Comment = String.Empty
            };
            var            serializer = new XmlSerializer(typeof(EntityElements));
            EntityElements entites    = new EntityElements()
            {
                Entities = new System.Collections.Generic.List <Entity>()
            };

            entites.Entities.Add(entity);
            MemoryStream stream = new MemoryStream();

            string xmlToCompare = @"<?xml version=""1.0""?><EntityElements xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"">  <data name=""TEXT_COMBO-ENABLED"">  <value>AKTYWNY</value>  <comment />  </data></EntityElements>";

            xmlToCompare = Regex.Replace(xmlToCompare, @"\s+", "");

            //save entites to memory stream to test serialization in acctual file
            serializer.Serialize(stream, entites);

            //Delete neccessary elemnts for easier comparrision
            string stringStream = Encoding.Default.GetString(stream.ToArray());

            stringStream = stringStream.Replace("\r\n", string.Empty);
            stringStream = stringStream.Replace(@"\", string.Empty);
            stringStream = Regex.Replace(xmlToCompare, @"\s+", "");

            Assert.AreEqual(xmlToCompare, stringStream);
        }
コード例 #2
0
        public void checkDeserializationOfEntity()
        {
            var entity = new Entity {
                Name = "TEXT_COMBO-ENABLED", Value = "AKTYWNY", Comment = String.Empty
            };
            var            serializer   = new XmlSerializer(typeof(EntityElements));
            EntityElements entites      = new EntityElements();
            string         xmlToCompare = @"<?xml version=""1.0""?><EntityElements xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"">  <data name=""TEXT_COMBO-ENABLED"">  <value>AKTYWNY</value>  <comment />  </data></EntityElements>";

            //XmlDocument was used since Deserializer have problem with xml file from memory stream
            XmlDocument cas = new XmlDocument();

            cas.LoadXml(xmlToCompare);

            using (XmlNodeReader reader = new XmlNodeReader(cas))
            {
                entites = (EntityElements)serializer.Deserialize(reader);
            }

            Assert.AreEqual(entites.Entities[0].Name, entity.Name);
        }
コード例 #3
0
ファイル: XmlFileReader.cs プロジェクト: Jakub47/ProjectForC2
        /// <summary>
        /// Reads xml file and returns data in entites
        /// </summary>
        /// <param name="filename">File filename from which data will be taken</param>
        /// <param name="currentList">Current list in view</param>
        /// <returns>All data from file</returns>
        public IEnumerable <Entity> Read(string filename, IEnumerable <Entity> currentList)
        {
            List <Entity> elements = new List <Entity>();

            //Serialize file in order to easier setting values
            var            serializer = new XmlSerializer(typeof(EntityElements));
            EntityElements entites    = new EntityElements();

            using (Stream fs = new FileStream(filename, FileMode.Open))
            {
                entites = (EntityElements)serializer.Deserialize(fs);
            }

            foreach (var item in entites.Entities)
            {
                if (!(_comparer.CompareEntityListWithObject(currentList, item)))
                {
                    elements.Add(item);
                }
            }
            return(elements);
        }
コード例 #4
0
ファイル: XmlFileWriter.cs プロジェクト: Jakub47/ProjectForC2
        /// <summary>
        /// Writes Entity list to Xml file
        /// </summary>
        /// <param name="listToSave">List which will be saved</param>
        /// <param name="filename">Filename to which data will be saved</param>
        /// <param name="password">Optional password for saving file</param>
        public void Write(IEnumerable <Entity> listToSave, string filename, string password = null)
        {
            var entityList = new EntityElements()
            {
                Entities = (List <Entity>)listToSave
            };
            var serializer = new XmlSerializer(typeof(EntityElements));

            using (Stream fs = new FileStream(filename, FileMode.Create))
            {
                using (var writer = new XmlTextWriter(fs, Encoding.Unicode))
                {
                    //Add spaces between next tags
                    writer.Formatting  = Formatting.Indented;
                    writer.Indentation = 4;
                    serializer.Serialize(writer, entityList);
                }
            }
            if (password != null)
            {
                _encryptor.EncryptFileWithPassword(filename, password);
            }
            MessageBox.Show("Pomyślnie zapisano plik");
        }