예제 #1
0
        static void Main(string[] args)
        {
            //Из лабораторной  №5    выберите класс  с наследованием  и / или
            //композицией / агрегацией  для сериализации.  Выполните
            //сериализацию / десериализацию объекта используя
            //a.бинарный,
            var stone1 = new Stone {
                Color = "Белый", Price = 20, Status = ProductStatus.Ready, Weight = 100
            };
            // создаем объект BinaryFormatter
            BinaryFormatter formatter = new BinaryFormatter();

            // получаем поток, куда будем записывать сериализованный объект
            using (FileStream fs = new FileStream("Product1.dat", FileMode.OpenOrCreate))
            {
                formatter.Serialize(fs, stone1);
            }
            // десериализация
            using (FileStream fs = new FileStream("Product1.dat",
                                                  FileMode.OpenOrCreate))
            {
                Stone newStone = (Stone)formatter.Deserialize(fs);
                Console.WriteLine($"{newStone}");
            }

            //b.SOAP,
            var pStone1 = new Stone {
                Color = "Желтый", Price = 40, Status = ProductStatus.Ready, Weight = 40
            };
            SoapFormatter soapFormatter = new SoapFormatter();

            using (Stream fStream = new FileStream("Product2.soap",
                                                   FileMode.Create))
            {
                soapFormatter.Serialize(fStream, pStone1);
            }
            using (FileStream fs = new FileStream("Product2.soap",
                                                  FileMode.Open))
            {
                Stone newStone2 = (Stone)soapFormatter.Deserialize(fs);
                Console.WriteLine($"{newStone2}");
            }

            //c.JSON формат

            var ruby1 = new Stone {
                Color = "Red", Price = 57, Status = ProductStatus.None, Weight = 30
            };
            DataContractJsonSerializer jsonFormatter = new DataContractJsonSerializer(typeof(Stone));

            using (FileStream fs = new FileStream("Product3.json", FileMode.OpenOrCreate))
            {
                jsonFormatter.WriteObject(fs, ruby1);
            }
            using (FileStream fs = new FileStream("Product3.json", FileMode.OpenOrCreate))
            {
                Stone newStone3 = (Stone)jsonFormatter.ReadObject(fs);
                Console.WriteLine($"{newStone3}");
            }

            //d.XML формат
            var diamond1 = new Stone {
                Color = "Прозрачный", Price = 89, Status = ProductStatus.Ready, Weight = 28
            };
            XmlSerializer xml = new XmlSerializer(typeof(Stone));

            using (FileStream fs = new FileStream("Product4.xml", FileMode.OpenOrCreate))
            {
                xml.Serialize(fs, diamond1);
            }
            using (FileStream fs = new FileStream("Product4.xml", FileMode.OpenOrCreate))
            {
                Stone newStone4 = xml.Deserialize(fs) as Stone;
                Console.WriteLine($"{newStone4}");
            }

            //2.Создайте  коллекцию(массив)  объектов и  выполните
            //сериализацию / десериализацию.
            var s1 = new Stone {
                Color = "Розовый", Price = 57, Status = ProductStatus.None, Weight = 30
            };
            var s2 = new Stone {
                Color = "Синий", Price = 89, Status = ProductStatus.Ready, Weight = 28
            };
            var s3 = new Stone {
                Color = "Зелёный", Price = 30, Status = ProductStatus.None, Weight = 41
            };
            var s4 = new Stone {
                Color = "Чёрный", Price = 50, Status = ProductStatus.Ready, Weight = 44
            };

            Stone[] arr = new Stone[] { s1, s2, s3, s4 };

            DataContractSerializer array = new DataContractSerializer(typeof(Stone[]));

            using (FileStream fs = new FileStream("array.xml", FileMode.OpenOrCreate))
            {
                array.WriteObject(fs, arr);
            }
            using (FileStream fs = new FileStream("array.xml", FileMode.OpenOrCreate))
            {
                Stone[] newS = (Stone[])array.ReadObject(fs);
                foreach (Stone s in newS)
                {
                    Console.WriteLine($"{s}");
                }
            }

            //3.Используя XPath напишите два селектора для вашего XML документа.

            XmlDocument xDoc = new XmlDocument();

            xDoc.Load("array.xml");
            XmlElement  xRoot = xDoc.DocumentElement;
            XmlNodeList all   = xRoot.SelectNodes("*"); //выбирает все узлы

            foreach (XmlNode x in all)
            {
                Console.WriteLine(x.OuterXml);         //вывод всей разметки
            }

            XmlNode parts = xRoot.FirstChild;              //выбирает узлы Stone

            Console.WriteLine(parts.FirstChild.InnerText); //вывод значения первого узла


            //4.Используя Linq to XML(или Linq to JSON) создайте новый xml(json) - документ и напишите несколько запросов.
            XDocument  xdoc            = new XDocument();
            XElement   stoneshop       = new XElement("stoneshop"); //первый эл
            XAttribute bs_name_attr    = new XAttribute("name", "theorite");
            XElement   bs_country_elem = new XElement("country", "Belgium");
            XElement   bs_auc_elem     = new XElement("auction", "yes");

            stoneshop.Add(bs_name_attr);            //заполняем аттрибутом и элем-ми
            stoneshop.Add(bs_country_elem);
            stoneshop.Add(bs_auc_elem);

            XElement   stoneshop2       = new XElement("stoneshop"); // второй эл
            XAttribute bs_name_attr2    = new XAttribute("name", "ametrine");
            XElement   bs_country_elem2 = new XElement("country", "Bolivia");
            XElement   bs_auc_elem2     = new XElement("auction", "yes");

            stoneshop2.Add(bs_name_attr2);          //заполняем аттрибутом и элем-ми
            stoneshop2.Add(bs_country_elem2);
            stoneshop2.Add(bs_auc_elem2);

            XElement root = new XElement("root");   //корневой элемент

            root.Add(stoneshop);
            root.Add(stoneshop2);
            xdoc.Add(root);
            xdoc.Save("linq.xml");                   //сохраняем в файл

            Console.WriteLine("Где найти Аметрин?"); //1-й запрос
            var items = xdoc.Element("root").Elements("stoneshop")
                        .Where(p => p.Attribute("name").Value == "ametrine")
                        .Select(p => p);

            foreach (var item in items)
            {
                Console.WriteLine(item.Element("country").Value);
            }
            Console.WriteLine("Какие камни представлены на аукционе?");//2-й запрос
            var coun = xdoc.Element("root").Elements("stoneshop")
                       .Where(p => p.Element("auction").Value == "yes")
                       .Select(p => p);

            foreach (var c in coun)
            {
                Console.WriteLine(c.Attribute("name").Value);
            }
        }
예제 #2
0
        public static string SetCars()
        {
            var req = HttpWebRequest.Create("http://localhost:8080/CARS");

            req.Method      = "POST";
            req.Credentials = CredentialCache.DefaultCredentials;

            MemoryStream     stream1 = new MemoryStream();
            List <Autotruck> car     = new List <Autotruck>();

            for (int i = 0; i < 10; i++)
            {
                car.Add(new Autotruck()
                {
                    Carbrand = "Модель" + i.ToString(), CarNumber = "Номер" + i.ToString(), Code = Guid.NewGuid(), Driver = "Водила" + i.ToString(), Id = Guid.NewGuid(), isUsed = true, Shipper = Guid.NewGuid(), TrailerNumber = "tr_num" + i.ToString()
                });
            }
            DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Autotruck[]), new DataContractJsonSerializerSettings
            {
                DateTimeFormat = new DateTimeFormat("yyyy-MM-dd'T'HH:mm:ss")
            });

            ser.WriteObject(stream1, car.ToArray());
            stream1.Position = 0;



            //StringReader sr = new StringReader("{ \"login\": \"user1\" , \"password\": \"user1\"}");
            byte[] ch  = new byte[stream1.Length];
            var    cnt = stream1.Read(ch, 0, (int)stream1.Length);

            req.ContentLength = stream1.Length;
            req.ContentType   = "application/json";
            var strem = req.GetRequestStream();

            strem.Write(ch, 0, (int)stream1.Length);
            //for (int i = 0; i < cnt; i++)
            //{
            //strem.WriteByte((byte)ch[i]);
            //}
            strem.Close();
            var resp = (HttpWebResponse)req.GetResponse();

            System.Console.WriteLine("<--------------------");
            System.Console.WriteLine("ContentType:");
            System.Console.WriteLine("              " + resp.ContentType);
            System.Console.WriteLine("ContentLength:{0}", resp.ContentLength);
            System.Console.WriteLine("");
            var res_str = resp.GetResponseStream();

            byte[] br = new byte[(int)resp.ContentLength];
            res_str.Read(br, 0, (int)resp.ContentLength);
            res_str.Close();


            var memstr = new MemoryStream();
            var rdr    = new StreamReader(memstr, Encoding.UTF8);

            memstr.Write(br, 0, br.Length);
            memstr.Position = 0;
            var ret = rdr.ReadToEnd();

            rdr.Close();
            memstr.Close();
            System.Console.WriteLine(ret);
            foreach (var VARIABLE in resp.Headers)
            {
                System.Console.WriteLine(VARIABLE);
            }
            for (int i = 0; i < resp.Headers.Count; ++i)
            {
                Console.WriteLine("\nHeader Name:{0}, Header value :{1}", resp.Headers.Keys[i], resp.Headers[i]);
                if (resp.Headers.Keys[i] == "Set-Cookie")
                {
                    var token = resp.Headers[i].Split('=');
                    resp.Close();
                    return(token[1]);
                }
            }

            System.Console.WriteLine("cookies");
            foreach (Cookie cookieValue in resp.Cookies)
            {
                System.Console.WriteLine(cookieValue.ToString());
            }
            resp.Close();
            return(string.Empty);
        }
예제 #3
0
        static void Main(string[] args)
        {
            #region Laba 5
            Number Num;
            Num.N = (int)Numbers.Lab;
            Num.G = (int)Numbers.Group;
            Num.C = (int)Numbers.Course;

            Console.WriteLine($"Лаб. раб. №{Num.N}.");
            Console.WriteLine($"Вариант {Num.G}.");
            Console.WriteLine($"{Num.G} группа.");
            Console.WriteLine($"{Num.C} курс.\n");

            #region Laba 14
            Question        Vopros       = new Question();
            BinaryFormatter binformatter = new BinaryFormatter();
            using (FileStream binfs = new FileStream("BinObj.dat", FileMode.OpenOrCreate))
            {
                binformatter.Serialize(binfs, Vopros);
                Console.WriteLine("Объект класса Question сериализован.");
            }
            using (FileStream binfs = new FileStream("BinObj.dat", FileMode.OpenOrCreate))
            {
                Question Vopros1 = (Question)binformatter.Deserialize(binfs);
                Console.WriteLine("Объект класса Question десериализован.\n\n");
                Vopros1.Quest = "Какой-то easy вопрос.";
                Vopros1.ToString();
                Vopros1.Do();
                Vopros1.GetOut();
                Console.WriteLine();
            }

            Test          Test       = new Test();
            SoapFormatter sformatter = new SoapFormatter();
            using (FileStream soapfs = new FileStream("SoapObj.dat", FileMode.OpenOrCreate))
            {
                sformatter.Serialize(soapfs, Test);
                Console.WriteLine("Объект класса Test сериализован.");
            }
            using (FileStream soapfs = new FileStream("SoapObj.dat", FileMode.OpenOrCreate))
            {
                Test Test0 = (Test)sformatter.Deserialize(soapfs);
                Console.WriteLine("Объект класса Test десериализован.\n\n");
                Test0.T();
                Test0.Testing = "Какой-то тест.";
                Test0.ToString();
                Test0.Do();
                Test0.GetOut();
                Console.WriteLine();
            }

            Exam          Exam0        = new Exam();
            XmlSerializer xmlformatter = new XmlSerializer(typeof(Exam));
            using (FileStream xmlfs = new FileStream("XmlObj.dat", FileMode.OpenOrCreate))
            {
                sformatter.Serialize(xmlfs, Exam0);
                Console.WriteLine("Объект класса Exam сериализован.");
            }
            using (FileStream xmlfs = new FileStream("XmlObj.dat", FileMode.OpenOrCreate))
            {
                Exam Exam1 = (Exam)sformatter.Deserialize(xmlfs);
                Console.WriteLine("Объект класса Exam десериализован.\n\n");
                Exam1.E();
                Exam1.Examin = "Какой-то экзамен.";
                Exam1.ToString();
                Exam1.Do();
                Exam1.GetOut();
                Console.WriteLine();
            }

            FinalExam FinEx0 = new FinalExam();
            DataContractJsonSerializer jsonFormatter = new DataContractJsonSerializer(typeof(FinalExam));

            using (FileStream jsonfs = new FileStream("FinalExam.json", FileMode.OpenOrCreate))
            {
                jsonFormatter.WriteObject(jsonfs, FinEx0);
                Console.WriteLine("Объект класса FinalExam сериализован.");
            }

            using (FileStream jsonfs = new FileStream("FinalExam.json", FileMode.OpenOrCreate))
            {
                FinalExam FinEx1 = (FinalExam)jsonFormatter.ReadObject(jsonfs);
                Console.WriteLine("Объект класса FinalExam десериализован.\n\n");
                FinEx1.FE();
                FinEx1.Final = "Какой-то выпускной экзамен.";
                FinEx1.ToString();
                FinEx1.Do();
                FinEx1.GetOut();
                Console.WriteLine();
            }


            ArrayList objectList = new ArrayList()
            {
                1, 2, 5, 10, "Array", "List"
            };
            DataContractJsonSerializer collect = new DataContractJsonSerializer(typeof(ArrayList));
            using (FileStream fs = new FileStream("ArrayList.json", FileMode.OpenOrCreate))
            {
                collect.WriteObject(fs, objectList);
            }
            using (FileStream fs = new FileStream("ArrayList.json", FileMode.OpenOrCreate))
            {
                ArrayList objects = (ArrayList)collect.ReadObject(fs);
                foreach (object o in objectList)
                {
                    Console.WriteLine(o);
                }
            }
            #endregion
            Console.ReadKey();
            #endregion
        }
예제 #4
0
        static void Main(string[] args)
        {
            xml NewXML = new xml();

            NewXML = MyDeserializerXml(NewXML, "data.xml");

            Console.WriteLine($"provider: {NewXML.provider}");
            Console.WriteLine($"account: {NewXML.account}");
            Console.WriteLine($"counters:");

            foreach (Counter elem in NewXML.counters)
            {
                Console.WriteLine($"type: {elem.type}");
                Console.WriteLine($"value: {elem.value}");
            }

            Console.WriteLine($"pay_summ: {NewXML.pay_summ}");

            switch (NewXML.provider)
            {
            case 1:
            {
                var gasMeat = new GasMeat()
                {
                    login = "******",
                    parol = "123456",
                    data  = new Data()
                    {
                        schet      = NewXML.account,
                        pokazaniya = NewXML.counters[0].value,
                        summa      = NewXML.pay_summ
                    }
                };
                DataContractJsonSerializer jsonFormatter = new DataContractJsonSerializer(typeof(GasMeat));
                using (FileStream fs = new FileStream("GasMeat.json", FileMode.OpenOrCreate))
                {
                    jsonFormatter.WriteObject(fs, gasMeat);
                }
                break;
            }

            case 2:
            {
                var Drain = new Drain()
                {
                    jsonrpc = "2.0",
                    method  = "fpay",
                    Params  = new Params()
                    {
                        session = new session()
                        {
                            login = "******",
                            pass  = "******"
                        },
                        data = new data()
                        {
                            account = NewXML.account
                        }
                    },
                    id = "32303137-3032-3237-3037-3135343423421"
                };

                foreach (Counter elem in NewXML.counters)
                {
                    var counter = new counters()
                    {
                        type = elem.type, value = elem.value
                    };
                    Console.WriteLine($"counter {counter.type} {counter.value}");
                    Drain.Params.data.counters.Add(counter);
                    //у меня здесь ошибка котороую я не знаю как решить
                }

                DataContractJsonSerializer jsonFormatter = new DataContractJsonSerializer(typeof(Drain));
                using (FileStream fs = new FileStream("Drain.json", FileMode.OpenOrCreate))
                {
                    jsonFormatter.WriteObject(fs, Drain);
                }
                break;
            }

            case 3:
            {
                OldCity oldCity = new OldCity()
                {
                    date    = "04.2016",
                    dogovor = "СГ-43234",
                    summa   = NewXML.pay_summ
                };

                XmlSerializer serializer = new XmlSerializer(typeof(OldCity));
                using (FileStream fs = new FileStream("OldCity.xml", FileMode.OpenOrCreate))
                {
                    serializer.Serialize(fs, oldCity);
                }
                break;
            }
            }
        }
예제 #5
0
        static void Main(string[] args)
        {
            /*БСБО-05-19
             * Копейкин Д.С.
             * 1.	Вывести информацию в консоль о логических дисках, именах, метке тома, размере типе файловой системы.
             *  2.	Работа  с файлами ( класс File, FileInfo, FileStream и другие)
             *      a)	Создать файл
             *      b)	Записать в файл строку
             *      c)	Прочитать файл в консоль
             *      d)	Удалить файл
             *  3.	Работа с форматом JSON
             *  4.	Работа с форматом XML
             *  5.	Создание zip архива, добавление туда файла, определение размера архива
             *
             */
            Console.Write("Введите номер задания ");
            while (true)
            {
                switch (Console.ReadLine())
                {
                case "1":
                    #region задание 1
                    #region текст задания
                    //.Вывести информацию в консоль о логических дисках, именах, метке тома, размере типе файловой системы.
                    #endregion
                    DriveInfo[] drives = DriveInfo.GetDrives();

                    foreach (DriveInfo drive in drives)
                    {
                        Console.WriteLine($"Название: {drive.Name}");
                        Console.WriteLine($"Тип: {drive.DriveType}");
                        if (drive.IsReady)
                        {
                            Console.WriteLine($"Объемдиска: {drive.TotalSize}");
                            Console.WriteLine($"Свободноепространство: {drive.TotalFreeSpace}");
                            Console.WriteLine($"Метка: {drive.VolumeLabel}");
                        }
                        Console.ReadKey();
                    }
                    #endregion
                    break;

                case "2":
                    #region задание 2
                    #region текст задания
                    //Работа  с файлами(класс File, FileInfo, FileStream и другие)
                    //        a)	Создать файл
                    //        b)	Записать в файл строку
                    //        c)	Прочитать файл в консоль
                    //        d)	Удалить файл
                    #endregion
                    Console.InputEncoding = Encoding.Unicode;
                    using (var sw = new StreamWriter(@"text.txt", false, Encoding.Unicode))    //не стал создавать аудиторий и помещать туда файл, т.к. не знаю, где их стоит создавать не на своем пк, поэто файл будеи помещен "имя папки проэкта"/bin/debug/text.txt
                    {
                        Console.Write("Введите текст для записи в файл:");
                        sw.WriteLine(Console.ReadLine());
                    }
                    using (var sr = new StreamReader(@"text.txt", Encoding.Unicode))
                    {
                        Console.WriteLine("нажмите клавишу для считывания текста из файла");
                        Console.ReadKey();
                        while (!sr.EndOfStream)
                        {
                            Console.WriteLine(sr.ReadLine());
                        }
                    }
                    Console.WriteLine("Нажмите кнопку для удаления файла");
                    Console.ReadKey();
                    File.Delete(@"text.txt");
                    Console.WriteLine("задание завершено");
                    #endregion
                    break;

                case "3":
                    #region задание 3
                    #region текст задания
                    //Работа с форматом JSON
                    #endregion
                    User user1 = new User {
                        Name = "Bill Gates", Age = 48, Company = "Microsoft"
                    };                                                                                 //первый пользователь создан автоматически

                    User user2 = new User();
                    Console.WriteLine("Введите имя второго человека");
                    user2.Name = Console.ReadLine();
                    Console.WriteLine("возраст");
                    user2.Age = int.Parse(Console.ReadLine());
                    Console.WriteLine("наименование компании");
                    user2.Company = Console.ReadLine();
                    List <User> users = new List <User> {
                        user1, user2
                    };
                    var json = new DataContractJsonSerializer(typeof(List <User>));
                    using (var file = new FileStream("users.json", FileMode.Create))    //опять файл будет создан в "имя папки проэкта"/bin/debug/users.json
                    {
                        json.WriteObject(file, users);
                    }
                    using (var file = new FileStream("users.json", FileMode.OpenOrCreate))
                    {
                        var newUsers = json.ReadObject(file) as List <User>;
                        if (newUsers != null)
                        {
                            foreach (var user in newUsers)
                            {
                                {
                                    Console.WriteLine(user);
                                }
                            }
                        }
                    }
                    Console.WriteLine("Нажмите кнопку для удаления файла");
                    Console.ReadKey();
                    File.Delete(@"users.json");
                    Console.WriteLine("задание завершено");
                    Console.ReadLine();
                    #endregion
                    break;

                case "4":
                    #region задание 4
                    #region текст задания
                    //Работа с форматом XML
                    #endregion
                    User user3 = new User {
                        Name = "Bill Gates", Age = 48, Company = "Microsoft"
                    };                                                                                 //первый пользователь создан автоматически

                    User user4 = new User();
                    Console.WriteLine("Введите имя второго человека");
                    user4.Name = Console.ReadLine();
                    Console.WriteLine("возраст");
                    user4.Age = int.Parse(Console.ReadLine());
                    Console.WriteLine("наименование компании");
                    user4.Company = Console.ReadLine();
                    List <User> users2 = new List <User> {
                        user3, user4
                    };

                    var xml = new XmlSerializer(typeof(List <User>));
                    using (var file = new FileStream("users.xml", FileMode.Create))    //опять файл будет создан в "имя папки проэкта"/bin/debug/users.xml
                    {
                        xml.Serialize(file, users2);
                    }
                    Console.WriteLine("для чтения файла нажмите клавишу");
                    Console.ReadKey();
                    using (var file = new FileStream("users.xml", FileMode.OpenOrCreate))
                    {
                        var newUsers = xml.Deserialize(file) as List <User>;
                        if (newUsers != null)
                        {
                            foreach (User user in users2)
                            {
                                {
                                    Console.WriteLine(user);
                                }
                            }
                        }
                    }
                    Console.WriteLine("Нажмите кнопку, для удаления файла");
                    Console.ReadKey();
                    File.Delete(@"users.xml");
                    Console.WriteLine("задание завершено");
                    #endregion
                    break;

                case "5":
                    #region задание 5
                    #region текст задания
                    //Создание zip архива, добавление туда файла, определение размера архива
                    #endregion
                    using (var sw = new StreamWriter(@"text2.txt", false, Encoding.Unicode))    //не стал создавать аудиторий и помещать туда файл, т.к. не знаю, где их стоит создавать не на своем пк, поэто файл будеи помещен "имя папки проэкта"/bin/debug/text.txt
                    {
                        sw.WriteLine("asdjdsjgnjdncvubbhxcvnbmcjbnjfdnkfmgksndkfmlsdmf");
                    }
                    string sourceFile     = @"text2.txt"; // исходныйфайл
                    string compressedFile = @"text2.gz";  // сжатыйфайл

                    using (FileStream sourceStream = new FileStream(sourceFile, FileMode.OpenOrCreate))
                    {
                        using (FileStream targetStream = File.Create(compressedFile))
                        {
                            using (GZipStream compressionStream = new GZipStream(targetStream, CompressionMode.Compress))
                            {
                                sourceStream.CopyTo(compressionStream);
                                Console.WriteLine("Сжатиефайла {0} завершено. Исходныйразмер: {1}  сжатыйразмер: {2}.",
                                                  sourceFile, sourceStream.Length.ToString(), targetStream.Length.ToString());
                            }
                        }
                    }
                    #endregion
                    break;

                default:
                    Console.WriteLine("неверно указанно задание");
                    break;
                }
            }
        }
        public void Do()
        {
            //int log_2 = ((x >> 23) & 255) - 128;
            //return;
            double   d     = 0x0404cb * 2 * Math.Pow(8 * (0x1b - 3), 2);
            DateTime start = DateTime.Now;

            for (int i = 0; i < 5; i++)
            {
                Block b1 = new Block(new BlockData[] { new BlockData()
                                                       {
                                                           message = "wiadomosc1 nr: " + i.ToString()
                                                       },
                                                       new BlockData()
                                                       {
                                                           message = "wiadomosc2 nr: " + i.ToString()
                                                       },
                                                       new BlockData()
                                                       {
                                                           message = "wiadomosc3 nr: " + i.ToString()
                                                       },
                                                       new BlockData()
                                                       {
                                                           message = "wiadomosc4 nr: " + i.ToString()
                                                       },
                                                       new BlockData()
                                                       {
                                                           message = "wiadomosc5 nr: " + i.ToString()
                                                       } });
                OpenLedger.Add(b1);
            }

            MemoryStream stream1           = new MemoryStream();
            DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(BlockChain));

            ser.WriteObject(stream1, OpenLedger);
            stream1.Position = 0;
            StreamReader sr = new StreamReader(stream1);

            Console.Write("JSON form of Person object: ");
            Console.WriteLine(sr.ReadToEnd());
            bool valed = OpenLedger.Validate();

            Console.WriteLine($"ledger is valid : { valed }");
            DateTime end = DateTime.Now;

            Console.WriteLine((end - start).TotalSeconds);
            Console.ReadKey();
            //return;
            var container = BootStrap.Components();

            using (var scope = container.BeginLifetimeScope())
            {
                //bindowanie
                ISimpleWorker worker = scope.Resolve <ISimpleWorker>();
                //container.Resolve<IServerLogger>();
                // robienie tasków
                Task task1 = new Task(() => worker.Do());
                //task1.Start();
                //task1.Wait();
            }
        }
예제 #7
0
        static void Main(string[] args)
        {
            Transport Calcatinge = new Automobil("Calcatinge", "Moldovanin", 0, 100, 5);
            Transport UAZ        = new Automobil("Nissan", "GTR", 228, 2, 240) as Automobil;    // ссылка на абстрактный класс
            Printer   car        = new Printer();
            Transport BelAZ      = new Automobil("BELAZ", "POTATO", 1488, 13, 70) as Transport; // ссылка на абстрактный класс
            Poezd     Strela     = new Poezd("Strela", "bistraya", 1337, 66, 140);
            Vagon     Dima       = new Vagon("Dima", "СВ", 228, 1337, 1488);

            Transport[] arr = new Transport[5];
            arr[0] = Calcatinge;
            arr[1] = Dima;
            arr[2] = Strela;
            arr[3] = BelAZ;
            arr[4] = UAZ;
            Container q = new Container();

            q.pozhar = new List <Transport>();
            q.Add(Calcatinge);
            q.Add(UAZ);
            q.Add(BelAZ);
            Controller      cont      = new Controller();
            BinaryFormatter formatter = new BinaryFormatter();

            // получаем поток, куда будем записывать сериализованный объект
            using (FileStream fs = new FileStream("people.dat", FileMode.OpenOrCreate))
            {
                formatter.Serialize(fs, Calcatinge);

                Console.WriteLine("Бинарная сериализация:\nОбъект успешно сериализован");
            }
            using (FileStream fs = new FileStream("people.dat", FileMode.OpenOrCreate))
            {
                Transport newTransport = (Transport)formatter.Deserialize(fs);

                Console.WriteLine("Бинарная десериализация:\nОбъект успешно десериализован");
                Console.WriteLine("Имя: {0}\n" +
                                  "Цена: {1}\n" +
                                  "Pасход топлива: {2}\n" +
                                  "Cкорость: {3}\n", newTransport.Name, newTransport.Price, newTransport.Oil, newTransport.Speed);
            }
            Console.WriteLine("==================================");
            SoapFormatter formatter1 = new SoapFormatter();

            // получаем поток, куда будем записывать сериализованный объект
            using (FileStream fs = new FileStream("people.soap", FileMode.OpenOrCreate))
            {
                formatter.Serialize(fs, Strela);

                Console.WriteLine("SOAP сериализация:\nОбъект сериализован");
            }

            // десериализация
            using (FileStream fs = new FileStream("people.soap", FileMode.OpenOrCreate))
            {
                Transport newTransport = (Transport)formatter.Deserialize(fs);

                Console.WriteLine("SOAP десериализация:\nОбъект успешно десериализован");
                Console.WriteLine("Имя: {0}\n" +
                                  "Цена: {1}\n" +
                                  "Pасход топлива: {2}\n" +
                                  "Cкорость: {3}\n", newTransport.Name, newTransport.Price, newTransport.Oil, newTransport.Speed);
            }
            Console.WriteLine("==================================");
            XmlSerializer formatter2 = new XmlSerializer(typeof(Transport));

            using (FileStream fs = new FileStream("persons.xml", FileMode.OpenOrCreate))
            {
                formatter.Serialize(fs, Strela);

                Console.WriteLine("XML сериализация:\nОбъект сериализован");
            }

            using (FileStream fs = new FileStream("persons.xml", FileMode.OpenOrCreate))
            {
                Transport newTransport = (Transport)formatter.Deserialize(fs);

                Console.WriteLine("XML десериализация:\nОбъект успешно десериализован");
                Console.WriteLine("Имя: {0}\n" +
                                  "Цена: {1}\n" +
                                  "Pасход топлива: {2}\n" +
                                  "Cкорость: {3}\n", newTransport.Name, newTransport.Price, newTransport.Oil, newTransport.Speed);
            }
            Console.WriteLine("==================================");
            DataContractJsonSerializer jsonFormatter = new DataContractJsonSerializer(typeof(Automobil));

            using (FileStream fs = new FileStream("people.json", FileMode.OpenOrCreate))
            {
                jsonFormatter.WriteObject(fs, BelAZ);
                Console.WriteLine("JSON сериализация:\nОбъект сериализован");
            }

            using (FileStream fs = new FileStream("people.json", FileMode.OpenOrCreate))
            {
                Automobil newpeople = (Automobil)jsonFormatter.ReadObject(fs);


                Console.WriteLine("JSON десериализация:\nОбъект успешно десериализован");
                Console.WriteLine("Имя: {0}\n" +
                                  "Цена: {1}\n" +
                                  "Pасход топлива: {2}\n" +
                                  "Cкорость: {3}\n", newpeople.Name, newpeople.Price, newpeople.Oil, newpeople.Speed);
            }
            Console.WriteLine("==================================");
            using (FileStream fs = new FileStream("people.dat", FileMode.OpenOrCreate))
            {
                formatter.Serialize(fs, arr);

                Console.WriteLine("Сериализация массива:\nОбъект успешно сериализован");
            }
            using (FileStream fs = new FileStream("people.dat", FileMode.OpenOrCreate))
            {
                Transport[] newTransport = (Transport[])formatter.Deserialize(fs);

                Console.WriteLine("Десериализация массива:\nОбъект успешно десериализован");
                foreach (Transport p in newTransport)
                {
                    Console.WriteLine("Имя: {0}\n" +
                                      "Цена: {1}\n" +
                                      "Pасход топлива: {2}\n" +
                                      "Cкорость: {3}\n", p.Name, p.Price, p.Oil, p.Speed);
                }
            }
            Console.WriteLine("Залазим в XML-документ:\n");
            XmlDocument xDoc = new XmlDocument();

            xDoc.Load("test.xml");
            XmlElement xRoot = xDoc.DocumentElement;

            // выбор всех дочерних узлов
            XmlNodeList childnodes = xRoot.SelectNodes("*");

            foreach (XmlNode n in childnodes)
            {
                Console.WriteLine(n.OuterXml);
            }

            Console.WriteLine("Link to XML:\n");
            XDocument xdoc = XDocument.Load("info.xml");

            foreach (XElement phoneElement in xdoc.Element("phones").Elements("phone"))
            {
                XAttribute nameAttribute  = phoneElement.Attribute("name");
                XElement   companyElement = phoneElement.Element("company");
                XElement   priceElement   = phoneElement.Element("price");

                if (nameAttribute != null && companyElement != null && priceElement != null)
                {
                    Console.WriteLine("Смартфон: {0}", nameAttribute.Value);
                    Console.WriteLine("Компания: {0}", companyElement.Value);
                    Console.WriteLine("Цена: {0}", priceElement.Value);
                }
                Console.WriteLine();
            }
            Console.Read();
        }