예제 #1
0
        public String SerializeToXMLFile <T>(T o, String path) where T : class
        {
            var xsSubmit = new ExtendedXmlSerializer();
            var xml      = "";

            using (var sww = new StringWriter()) {
                using (XmlWriter writer = XmlWriter.Create(sww)) {
                    xml = xsSubmit.Serialize(o);
                    Console.WriteLine(xml);
                }
            }

            if (path != null)
            {
                try {
                    File.WriteAllText(path, xml);
                }
                catch (IOException e) {
                    Console.WriteLine("The file could not be read:");
                    Console.WriteLine(e.Message);
                }
            }

            Console.WriteLine(xml);
            return(xml);
        }
예제 #2
0
 public void ExecuteOutputTemplate()
 {
     try
     {
         SaveFileDialog sfDialog = new SaveFileDialog()
         {
             Title  = "导出参数模板",
             Filter = Resources.XMLFilter
         };
         if (sfDialog.ShowDialog() == DialogResult.OK)
         {
             if (File.Exists(sfDialog.FileName))
             {
                 File.Delete(sfDialog.FileName);
             }
             ExtendedXmlSerializer seriliSerializer = new ExtendedXmlSerializer();
             var xml = seriliSerializer.Serialize(CZ_LockHeadParameters);
             Console.WriteLine(xml);
             File.WriteAllText(sfDialog.FileName, xml);
             Prompt = "模板文件输出至" + sfDialog.FileName;
             Status = Resources.Status_Success;
         }
     }
     catch (Exception e)
     {
         Prompt = "发生错误" + e.Message;
         Status = Resources.Status_Fail;
     }
 }
예제 #3
0
        public ImportResults <T> Import <T>(string[] Parameters)
        {
            string ImportFile = "";

            var Source = Parameters[0];

            if (File.Exists(Source))
            {
                ImportFile = Source;
            }
            // else if (Directory.Exists(Source))
            // {
            //     var DirectoryInfo = new DirectoryInfo(Source);
            //     foreach (var FileInfo in DirectoryInfo.EnumerateFiles())
            //     {
            //         if (FileInfo.Extension == ".xml")
            //         {
            //             ImportFiles.Add(FileInfo.FullName);
            //         }
            //     }
            // }


            var    ExtendedXmlSerializer = new ExtendedXmlSerializer();
            string ImportXml             = File.ReadAllText(ImportFile);

            var ImportResults = new ImportResults <T>();

            ImportResults.Result = ExtendedXmlSerializer.Deserialize <T>(ImportXml);

            return(ImportResults);
        }
예제 #4
0
        /// <summary>
        /// Save data fields to a file.
        /// </summary>
        /// <param name="collection">Data collection</param>
        /// <param name="pathName">Path name</param>
        public void SaveXmlData(DataCollection collection, string pathName)
        {
            ExtendedXmlSerializer serializer = new ExtendedXmlSerializer();
            var        xml    = serializer.Serialize(collection);
            TextWriter writer = new StreamWriter(pathName);

            writer.Write(xml);
            writer.Close();
        }
        public void Should_Serialize_ObservableCollection()
        {
            ObservableCollection <IUiObject> obs = new ObservableCollection <IUiObject>();

            for (int i = 0; i < 10; i++)
            {
                var        payementPlaces = new UiMultipleDfObject();
                UiDfObject dataDfObject   = new UiDfObject
                {
                    LabelText        = "Plazo de Pago",
                    DataField        = "PLAZO",
                    TableName        = "PROVEE2",
                    LabelTextWidth   = "100",
                    LabelVisible     = true,
                    Height           = "100",
                    TextContentWidth = "50",
                    PrimaryKey       = "NUM_PROVEE",
                    AllowedEmpty     = true
                };
                payementPlaces.AddDataField(dataDfObject);
                // plazo de pago 2.

                var dataDfObject2 = new UiDfObject
                {
                    DataField        = "PLAZO2",
                    TableName        = "PROVEE2",
                    LabelVisible     = false,
                    Height           = "100",
                    TextContentWidth = "50",
                    PrimaryKey       = "NUM_PROVEE",
                    AllowedEmpty     = true
                };
                payementPlaces.AddDataField(dataDfObject2);
                // plazo de pago 3.
                UiDfObject dataDfObject3 = new UiDfObject();
                dataDfObject3.DataField        = "PLAZO3";
                dataDfObject3.TableName        = "PROVEE2";
                dataDfObject2.LabelVisible     = false;
                dataDfObject3.Height           = "100";
                dataDfObject3.TextContentWidth = "50";
                dataDfObject3.PrimaryKey       = "NUM_PROVEE";
                dataDfObject3.AllowedEmpty     = true;
                payementPlaces.AddDataField(dataDfObject3);
                obs.Add(payementPlaces);
            }

            ExtendedXmlSerializer serializer = new ExtendedXmlSerializer();
            var        xml    = serializer.Serialize(obs);
            TextWriter writer = new StreamWriter(@"C:\Users\Usuario\Documents\KarveSnapshots\Observe.xml");

            writer.Write(xml);
            writer.Close();
            TextReader reader     = new StreamReader(@"C:\Users\Usuario\Documents\KarveSnapshots\Observe.xml");
            string     xmlValue   = reader.ReadToEnd();
            var        collection = serializer.Deserialize <ObservableCollection <IUiObject> >(xmlValue);
        }
        public static void RunSimpleConfig()
        {
            Program.PrintHeader("Serialization reference object");
            var toolsFactory = new SimpleSerializationToolsFactory();

            toolsFactory.Configurations.Add(new PersonConfig());
            ExtendedXmlSerializer serializer = new ExtendedXmlSerializer(toolsFactory);

            Run(serializer);
        }
예제 #7
0
        public static void RunSimpleConfig()
        {
            Program.PrintHeader("Deserialization old version of xml");
            var toolsFactory = new SimpleSerializationToolsFactory();

            toolsFactory.Configurations.Add(new TestClassConfig());
            ExtendedXmlSerializer serializer = new ExtendedXmlSerializer(toolsFactory);

            Run(serializer);
        }
예제 #8
0
        /// <summary>
        /// This method loads a collection of UI objects from a file
        /// An UIObject is an object that it is useful for rendering and it has been already
        /// binded to a database field.
        /// </summary>
        /// <param name="path">Path of the file to be loaded</param>
        /// <returns></returns>
        public ObservableCollection <IUiObject> LoadCollection(string path)
        {
            TextReader reader = new StreamReader(path);
            string     xml    = reader.ReadToEnd();

            ExtendedXmlSerializer serializer = new ExtendedXmlSerializer();
            var collection = serializer.Deserialize <ObservableCollection <IUiObject> >(xml);

            return(collection);
        }
예제 #9
0
        /// <summary>
        /// This loads the xml data list for creating the query.
        /// </summary>
        /// <param name="pathName">Path.</param>
        public DataCollection LoadXmlData(string pathName)
        {
            Uri                   uri        = new Uri(pathName);
            TextReader            reader     = new StreamReader(uri.LocalPath);
            ExtendedXmlSerializer serializer = new ExtendedXmlSerializer();
            string                xmlValue   = reader.ReadToEnd();
            DataCollection        coll       = null;
            var                   collection = serializer.Deserialize <DataCollection>(xmlValue);

            coll = (DataCollection)collection;
            return(coll);
        }
예제 #10
0
        /// <summary>
        /// This method save a collection of UiObjects to disk
        /// </summary>
        /// <param name="observableCollection">Observable collection of objects</param>
        /// <param name="path">Path of the file to be saved</param>
        public void SaveCollection(ObservableCollection <IUiObject> observableCollection, string path)
        {
            ExtendedXmlSerializer serializer = new ExtendedXmlSerializer();
            var         xml = serializer.Serialize(observableCollection);
            XmlDocument doc = new XmlDocument();

            doc.LoadXml(xml);
            using (XmlTextWriter writer = new XmlTextWriter(path, null))
            {
                writer.Formatting = Formatting.Indented;
                doc.Save(writer);
            }
        }
예제 #11
0
        }                                                           // UpdatePlayer output

        private void LoadBoards()
        {
            var xmlSerializer = new ExtendedXmlSerializer(string.Empty);

            InitialGameMasterBoard =
                xmlSerializer.DeserializeFromXmlFile <GameMasterBoard>(ScenarioFileBase + GMInitialSufix);
            UpdatedGameMasterBoard =
                xmlSerializer.DeserializeFromXmlFile <GameMasterBoard>(ScenarioFileBase + GMUpdatedSufix);

            InitialPlayerBoard =
                xmlSerializer.DeserializeFromXmlFile <PlayerBoard>(ScenarioFileBase + PlayerInitialSufix);
            UpdatedPlayerBoard =
                xmlSerializer.DeserializeFromXmlFile <PlayerBoard>(ScenarioFileBase + PlayerUpdatedSufix);
        }
        public static void Run()
        {
            ExtendedXmlSerializer serializer = new ExtendedXmlSerializer();

            Program.PrintHeader("Serialization");
            var obj = new TestClass();
            var xml = serializer.Serialize(obj);

            Console.WriteLine(xml);

            Program.PrintHeader("Deserialization");
            var obj2 = serializer.Deserialize <TestClass>(xml);

            Console.WriteLine("Obiect id = " + obj2.Id);
        }
예제 #13
0
파일: GameSaver.cs 프로젝트: AndSko82/chaos
        public void SaveGame()
        {
            var filePath = GetPath();

            if (!string.IsNullOrWhiteSpace(filePath))
            {
                var state = new GameState();
                state.monsters           = monsterDTOs();
                state.players            = playerDTOs();
                state.currentPlayerIndex = players.IndexOf(currentPlayer);
                state.TurnsAmount        = TurnsLimit;

                var xml = new ExtendedXmlSerializer();
                File.AppendAllText(filePath, xml.Serialize(state));
            }
        }
        public void Should_UiMultipleDf_Serialized()
        {
            UiMultipleDfObject payementPlaces = new UiMultipleDfObject();
            UiDfObject         dataDfObject   = new UiDfObject();

            dataDfObject.LabelText        = "Plazo de Pago";
            dataDfObject.DataField        = "PLAZO";
            dataDfObject.TableName        = "PROVEE2";
            dataDfObject.LabelTextWidth   = "100";
            dataDfObject.LabelVisible     = true;
            dataDfObject.Height           = "100";
            dataDfObject.TextContentWidth = "50";
            dataDfObject.PrimaryKey       = "NUM_PROVEE";
            dataDfObject.AllowedEmpty     = true;
            payementPlaces.AddDataField(dataDfObject);
            // plazo de pago 2.

            UiDfObject dataDfObject2 = new UiDfObject();

            dataDfObject2.DataField        = "PLAZO2";
            dataDfObject2.TableName        = "PROVEE2";
            dataDfObject2.LabelVisible     = false;
            dataDfObject2.Height           = "100";
            dataDfObject2.TextContentWidth = "50";
            dataDfObject2.PrimaryKey       = "NUM_PROVEE";
            dataDfObject2.AllowedEmpty     = true;
            payementPlaces.AddDataField(dataDfObject2);
            // plazo de pago 3.
            UiDfObject dataDfObject3 = new UiDfObject();

            dataDfObject3.DataField        = "PLAZO3";
            dataDfObject3.TableName        = "PROVEE2";
            dataDfObject2.LabelVisible     = false;
            dataDfObject3.Height           = "100";
            dataDfObject3.TextContentWidth = "50";
            dataDfObject3.PrimaryKey       = "NUM_PROVEE";
            dataDfObject3.AllowedEmpty     = true;
            payementPlaces.AddDataField(dataDfObject3);
            ExtendedXmlSerializer serializer = new ExtendedXmlSerializer();

            var        xml    = serializer.Serialize(payementPlaces);
            TextWriter writer = new StreamWriter(@"C:\Users\Usuario\Documents\KarveSnapshots\PayPlaces.xml");

            writer.Write(xml);
            writer.Close();
        }
예제 #15
0
        public static Scene LoadSceneFromName(string name)
        {
            // parse xml scene file
            var xml        = ResourceManager.GetString($"Scenes/{ name }.xml");
            var serializer = new ExtendedXmlSerializer();   // we use ExtendedXml.. because we do not want to register every possible child of Material
            var scene      = serializer.Deserialize <Scene>(xml);

            // load referenced resources
            foreach (var instance in scene.Materials)
            {
                instance.Material.Initialize(instance.Shader);
            }

            // init stuff


            return(scene);
        }
예제 #16
0
        public T DeserializeFromXMLFile <T>(String path) where T : class
        {
            T deserializedObject = null;

            try {
                using (StreamReader reader = new StreamReader(path)) {
                    var xml          = reader.ReadToEnd();
                    var deserializer = new ExtendedXmlSerializer();
                    deserializedObject = deserializer.Deserialize <T>(xml);
                }
            }
            catch (IOException e) {
                Console.WriteLine("The file could not be read:");
                Console.WriteLine(e.Message);
            }

            return(deserializedObject);
        }
        public static void Register(HttpConfiguration config)
        {
            // Manual creation of IExtendedXmlSerializer or resolve it from AutoFac.
            var simpleConfig = new SimpleSerializationToolsFactory();

            simpleConfig.Configurations.Add(new TestClassConfig());
            var serializer = new ExtendedXmlSerializer(simpleConfig);

            config.RegisterExtendedXmlSerializer(serializer);

            // Web API routes
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
                );
        }
예제 #18
0
        public static void Test()
        {
            var model = StructureGenerator.Generate3DFrameElementGrid(2, 2, 2);

            model.ReIndexNodes();

            var toolsFactory = new SimpleSerializationToolsFactory();

            toolsFactory.Configurations.Add(new NodeConfig());
            toolsFactory.Configurations.Add(new FrameElementSerializationConfig());

            ExtendedXmlSerializer serializer = new ExtendedXmlSerializer(toolsFactory);
            var modelSt = serializer.Serialize(model);

            toolsFactory.Configurations.RemoveAt(1);


            var t = serializer.Deserialize <Model>(modelSt);


            t.Nodes.ToList().ForEach(o => o.Label = Guid.NewGuid().ToString());
        }
예제 #19
0
        public ExportResults <T> Export <T>(T Object, string[] Parameters)
        {
            try
            {
                var Destination = Parameters[0];

                string DirectoryName;
                string FileName;


                if (Destination.EndsWith(".xml"))
                {
                    DirectoryName = Path.GetDirectoryName(Destination);
                    FileName      = Path.Combine(DirectoryName, Path.GetFileNameWithoutExtension(Destination) + ".xml");
                }
                else
                {
                    DirectoryName = Destination;
                    FileName      = Path.Combine(DirectoryName, Object.ToString().CodeName() + ".xml");
                }

                if (!Directory.Exists(DirectoryName))
                {
                    Directory.CreateDirectory(DirectoryName);
                }

                var ExtendedXmlSerializer = new ExtendedXmlSerializer();
                var xml = ExtendedXmlSerializer.Serialize(Object);

                File.WriteAllText(FileName, xml);

                return(new ExportResults <T>(Object, FileName));
            }
            catch (Exception Exception)
            {
                throw Exception;
            }
        }
예제 #20
0
        static void Main(string[] args)
        {
            var toolsFactory = new SimpleSerializationToolsFactory();

            toolsFactory.Configurations.Add(new TestClassConfig());
            ExtendedXmlSerializer serializer = new ExtendedXmlSerializer(toolsFactory);

            Console.WriteLine("Serialization");
            var         obj = new TestClass("Natraj Bontha");
            var         xml = serializer.Serialize(obj);
            XmlDocument doc = new XmlDocument();

            doc.LoadXml(xml);
            doc.Save(obj.GetType().Name.AddFileExtension("xml"));

            Console.WriteLine(xml);

            Console.WriteLine("Deserialization");
            var obj2 = serializer.Deserialize <TestClass>(xml);

            Console.WriteLine("Obiect id = " + obj2.PropStr);

            Console.ReadKey();
        }
예제 #21
0
 private void ExecuteInputTemplate()
 {
     try
     {
         OpenFileDialog ofDialog = new OpenFileDialog()
         {
             Title  = "导入参数模板",
             Filter = Resources.XMLFilter
         };
         if (ofDialog.ShowDialog() == DialogResult.OK)
         {
             ExtendedXmlSerializer serializer = new ExtendedXmlSerializer();
             string xmlstring = File.ReadAllText(ofDialog.FileName);
             CZ_LockHeadParameters = serializer.Deserialize <LockHeadParameters>(xmlstring);
             Prompt = ofDialog.FileName + "导入成功";
             Status = Resources.Status_Success;
         }
     }
     catch (Exception e)
     {
         Prompt = "发生错误" + e.Message;
         Status = Resources.Status_Fail;
     }
 }
예제 #22
0
        /// <summary>
        /// Update parser task
        /// </summary>
        /// <param name="parsertask"></param>
        /// <returns>instance of new parser dto</returns>
        public ParserTaskDTO Update(ParserTaskDTO parsertask)
        {
            var serializer = new ExtendedXmlSerializer();

            var temp = uOW.ParserRepo.Get(p => p.Id == parsertask.Id).FirstOrDefault();

            if (temp == null)
            {
                return(null);
            }
            //temp vars for checking fillness additional settings
            bool IsIteratorSettingsAreFilled = false;
            bool IsGrabebrSettingsAreFilled  = false;


            //Filling and checking additional settings
            if (parsertask.GrabberSettings != null)
            {
                temp.GrabberSettings        = serializer.Serialize(parsertask.GrabberSettings);
                IsIteratorSettingsAreFilled = true;
            }
            if (parsertask.IteratorSettings != null)
            {
                temp.IteratorSettings      = serializer.Serialize(parsertask.IteratorSettings);
                IsGrabebrSettingsAreFilled = true;
            }

            if (IsGrabebrSettingsAreFilled && IsIteratorSettingsAreFilled)
            {
                if (parsertask.EndDate == null)
                {
                    temp.Status = Common.Enum.Status.Infinite;
                }
                else
                {
                    temp.Status = Common.Enum.Status.Coming;
                }
            }
            else
            {
                temp.Status = Common.Enum.Status.NotFinished;
            }

            if (parsertask.Status == Common.Enum.Status.InQuery)
            {
                temp.Status = Common.Enum.Status.InQuery;
            }

            temp.Priority = parsertask.Priority;

            temp.Description = parsertask.Description;
            temp.EndDate     = parsertask.EndDate;

            temp.CategoryId = parsertask.CategoryId;
            temp.WebShopId  = parsertask.WebShopId;

            temp.Category = uOW.CategoryRepo.GetByID(temp.CategoryId);
            temp.WebShop  = uOW.WebShopRepo.GetByID(temp.WebShopId);

            uOW.ParserRepo.SetStateModified(temp);
            uOW.Save();
            return(Mapper.Map <ParserTaskDTO>(temp));
        }
        public IActionResult HiPaySuccess(string code)
        {
            try
            {
                HttpResponseMessage resultHttp;
                using (var http = new HttpClient())
                {
                    var formContent = new FormUrlEncodedContent(new[]
                    {
                        new KeyValuePair <string, string>("site_id", "338486"),
                        new KeyValuePair <string, string>("product_id", "1486845"),
                        new KeyValuePair <string, string>("code[]", code)
                    });
                    resultHttp = http.PostAsync(@"https://payment.allopass.com/api/onetime/validate-codes.apu", formContent).Result;
                }

                // Read XML
                ExtendedXmlSerializer serializer = new ExtendedXmlSerializer();
                HIPAYRETURN           dataAPI    = serializer.Deserialize <HIPAYRETURN>(resultHttp.Content.ReadAsStringAsync().Result);

                if (dataAPI.status == "0" && dataAPI.status_description == "success")
                {
                    using (var context = new SiteDbContext())
                    {
                        double doublePrice = -1.0;
                        double.TryParse(dataAPI.price, out doublePrice);
                        if (doublePrice == -1.0)
                        {
                            doublePrice = 0.0;
                        }


                        // Add Deal
                        Deals_statistics stats = new Deals_statistics()
                        {
                            UserId       = User.FindFirstValue(ClaimTypes.NameIdentifier),
                            Code         = code + "(" + dataAPI.transaction_id + ")",
                            Date         = DateTime.Now,
                            Price        = doublePrice,
                            Nb_Artifacts = 16,
                            PaymentType  = "HiPay Mobile"
                        };
                        context.Deals_statistics.Add(stats);

                        //Add Artifact
                        Artifacts artifact = context.Artifacts
                                             .Where(r => r.UserId == User.FindFirstValue(ClaimTypes.NameIdentifier))
                                             .Select(r => r).FirstOrDefault();

                        artifact.Number += (int)16;
                        context.Update(artifact);

                        context.SaveChanges();
                    }

                    TempData["success"] = "Your payment has been successfully completed! You have received your artefacts.";
                }
                else
                {
                    TempData["error"] = "Code can already be used or invalid. If the problem contact the support.";
                }

                return(RedirectToAction(nameof(ShopController.Finished), "Shop"));
            }
            catch
            {
                TempData["error"] = "Error during payment, code can already be used. If the problem  contact the support.";
                return(RedirectToAction(nameof(ShopController.Finished), "Shop"));
            }
        }
예제 #24
0
 private void LoadIdentifiers()
 {
     PlayerGuidToId =
         new ExtendedXmlSerializer(string.Empty).DeserializeFromXmlFile <SerializableDictionary <Guid, int> >(
             ScenarioFileBase + IdentifiersSufix);
 }
예제 #25
0
        public string Serialize(BaseSettings _settings)
        {
            var x = new ExtendedXmlSerializer();

            return(x.Serialize(_settings));
        }
예제 #26
0
        public BaseSettings Deserialize(string data)
        {
            ExtendedXmlSerializer serializer = new ExtendedXmlSerializer();

            return(serializer.Deserialize <BaseSettings>(data));
        }