Example #1
0
        public void AddComplexTypeSaveAndLoad()
        {
            // Setup
            var file = GetXmlFile(nameof(AddComplexTypeSaveAndLoad));
            File.Delete(file);
            var set = new XmlSet<ComplexType>(file);

            // Execute
            var complex = new ComplexType
            {
                Description = "This is a test",
                Size = 42,
                Child = new SimpleType
                {
                    Name = "Test",
                    Value = 12.35,
                    Price = 4.50m,
                    Date = DateTime.Parse("9/1/2015")
                }
            };
            set.Add(complex);
            set.Save();

            var set2 = new XmlSet<ComplexType>(file);
            var result = set2.First();

            // Assert
            Assert.AreEqual(complex.Description, result.Description);
            Assert.AreEqual(complex.Size, result.Size);
            Assert.IsNotNull(complex.Child);
            Assert.AreEqual(complex.Child.Name, result.Child.Name);
            Assert.AreEqual(complex.Child.Value, result.Child.Value);
            Assert.AreEqual(complex.Child.Price, result.Child.Price);
            Assert.AreEqual(complex.Child.Date, result.Child.Date);
        }
Example #2
0
        public void AddSimpleTypeSaveAndLoad()
        {
            // Setup
            var file = GetXmlFile(nameof(AddSimpleTypeSaveAndLoad));

            File.Delete(file);
            var set = new XmlSet <SimpleType>(file);

            // Execute
            var simple = new SimpleType
            {
                Name  = "Test",
                Value = 12.35,
                Price = 4.50m,
                Date  = DateTime.Parse("9/1/2015")
            };

            set.Add(simple);
            set.Save();

            var set2   = new XmlSet <SimpleType>(file);
            var result = set2.First();

            // Assert
            Assert.AreEqual(simple.Name, result.Name);
            Assert.AreEqual(simple.Value, result.Value);
            Assert.AreEqual(simple.Price, result.Price);
            Assert.AreEqual(simple.Date, result.Date);
        }
Example #3
0
        public void RevertSet()
        {
            // Setup up.
            var file = GetXmlFile(nameof(RevertSet));

            File.Delete(file);
            var set = new XmlSet <SimpleType>(file);

            var simple = new SimpleType
            {
                Name  = "Test",
                Value = 12.35,
                Price = 4.50m,
                Date  = DateTime.Parse("9/1/2015")
            };

            set.Add(simple);
            set.Save();

            var simple2 = new SimpleType
            {
                Name  = "Test 2",
                Value = 43.001,
                Price = 8.5m,
                Date  = DateTime.Parse("9/2/2015")
            };

            // Execute
            set.Revert();

            // Assert
            Assert.AreEqual(1, set.Count);
            Assert.AreEqual(simple.Name, set.First().Name);
        }
Example #4
0
        private void Serialize(XmlSet set, string filename)
        {
            XmlSerializer ser = new XmlSerializer(typeof(XmlSet));

            System.IO.TextWriter writer = new System.IO.StreamWriter(filename);
            ser.Serialize(writer, set);
            writer.Close();
        }
Example #5
0
        public void AddEntityWithNull()
        {
            // Setup
            var file = GetXmlFile(nameof(AddEntityWithNull));
            var set  = new XmlSet <SimpleType>(file);

            // Execute
            set.Add(a_entity: null);
        }
Example #6
0
        public void AddEntityWithNull()
        {
            // Setup
            var file = GetXmlFile(nameof(AddEntityWithNull));
            var set = new XmlSet<SimpleType>(file);

            // Execute
            set.Add(a_entity: null);
        }
Example #7
0
        public ActionResult Post([FromBody] XmlSet xmlset)
        {
            string loginguid = string.Empty;

            HttpContext.Request.Cookies.TryGetValue("loginguid", out loginguid);
            xmlset.loginguid = loginguid;
            var result = PDMUtils.changeRole(xmlset);

            return(Json(result));
        }
Example #8
0
        public XmlSet DeSerialize(string filename)
        {
            XmlSerializer ser = new XmlSerializer(typeof(XmlSet));
            XmlSet        set = new XmlSet();

            System.IO.TextReader writer = new System.IO.StreamReader(filename);
            set = (XmlSet)ser.Deserialize(writer);
            writer.Close();

            return(set);
        }
Example #9
0
        public void AddEntity()
        {
            // Setup
            var file       = GetXmlFile(nameof(AddEntity));
            var set        = new XmlSet <SimpleType>(file);
            var simpleType = new SimpleType();

            // Execute
            set.Add(simpleType);

            // Assert
            Assert.AreSame(simpleType, set.First());
            Assert.AreEqual(1, set.Count);
        }
Example #10
0
        public void AddEntity()
        {
            // Setup
            var file = GetXmlFile(nameof(AddEntity));
            var set = new XmlSet<SimpleType>(file);
            var simpleType = new SimpleType();

            // Execute
            set.Add(simpleType);

            // Assert
            Assert.AreSame(simpleType, set.First());
            Assert.AreEqual(1, set.Count);
        }
Example #11
0
        public ActionResult Put([FromBody] JToken token)
        {
            string loginguid = string.Empty;

            HttpContext.Request.Cookies.TryGetValue("loginguid", out loginguid);
            string  jsonStr = JsonConvert.SerializeObject(token);
            XmlNode node    = JsonConvert.DeserializeXmlNode(jsonStr, "OBJ");
            XmlSet  xmlset  = new XmlSet
            {
                loginguid = loginguid,
                obj       = node
            };
            var result = PDMUtils.modifyFormData(xmlset);

            return(Json(result));
        }
Example #12
0
        public void Save(string filename)
        {
            if (!(System.IO.File.Exists(filename)))
            {
                settings.sysinfo1 = new sysinfo();
                settings.guid     = Guid.NewGuid();


                Serialize(settings, filename);
            }
            else
            {
                settings = DeSerialize(filename);
            }


            setDeviceInfo();

            Serialize(settings, filename);
        }
Example #13
0
        public bool Connect(IPAddress servAdress, XmlSet set)
        {
            try
            {
                settings = set;
                while (!tcpClient.Connected)
                {
                    run = true;
                    tcpClient.Connect(servAdress, 3155);
                }
                this.Check_in();
                return(tcpClient.Connected);
            }

            catch (Exception ex)
            {
                run = tcpClient.Connected;
                //throw new Exception(ex.Message);
                return(run);
            }
        }
Example #14
0
        public void AddComplexTypeSaveAndLoad()
        {
            // Setup
            var file = GetXmlFile(nameof(AddComplexTypeSaveAndLoad));

            File.Delete(file);
            var set = new XmlSet <ComplexType>(file);

            // Execute
            var complex = new ComplexType
            {
                Description = "This is a test",
                Size        = 42,
                Child       = new SimpleType
                {
                    Name  = "Test",
                    Value = 12.35,
                    Price = 4.50m,
                    Date  = DateTime.Parse("9/1/2015")
                }
            };

            set.Add(complex);
            set.Save();

            var set2   = new XmlSet <ComplexType>(file);
            var result = set2.First();

            // Assert
            Assert.AreEqual(complex.Description, result.Description);
            Assert.AreEqual(complex.Size, result.Size);
            Assert.IsNotNull(complex.Child);
            Assert.AreEqual(complex.Child.Name, result.Child.Name);
            Assert.AreEqual(complex.Child.Value, result.Child.Value);
            Assert.AreEqual(complex.Child.Price, result.Child.Price);
            Assert.AreEqual(complex.Child.Date, result.Child.Date);
        }
Example #15
0
        public void Read()
        {
            while (run == true)
            {
                byte[] data = default(byte[]);
                byte[] buffer;
                byte[] header;

                NetworkStream Network;
                HeaderDsc     headerDsc;


                try
                {
                    Network = tcpClient.GetStream();

                    header = new byte[TCPPack.HeaderSize];

                    int readBytes = Network.Read(header, 0, header.Length);  // считывание заголовка await async
                    if (readBytes == 0)
                    {
                        Console.WriteLine("Remote host dropped connection");
                        break;
                    }
                    else
                    {
                        int lengthHeader = BitConverter.ToInt32(header, 0);

                        using (MemoryStream Memory = new MemoryStream(lengthHeader)) // десериализация заголовка
                        {
                            buffer    = new byte[lengthHeader];
                            readBytes = Network.Read(buffer, 0, buffer.Length);
                            Memory.Write(buffer, 0, readBytes);
                            Memory.Position = 0;

                            BinaryFormatter bf = new BinaryFormatter();
                            headerDsc = (HeaderDsc)bf.Deserialize(Memory);
                            //Console.ReadKey();
                        }
                    }

                    if (headerDsc.DataSize > 0)
                    {
                        buffer = new byte[TCPPack.BufferSize];
                        data   = new byte[headerDsc.DataSize];

                        int lengthPack    = buffer.Length;
                        int receivedBytes = 0;

                        while (true)
                        {
                            var remBytes = headerDsc.DataSize - receivedBytes;
                            lengthPack = (remBytes < lengthPack) ? (int)remBytes : buffer.Length;// если осталось получить байтов меньше чем буффер ждем конкретно это кол-во байтов
                            readBytes  = Network.Read(buffer, 0, lengthPack);

                            if (readBytes == 0)
                            {
                                Console.WriteLine("Remote host dropped connection");
                                break;
                            }

                            // Записываем строго столько байтов сколько прочтено методом Read()
                            Buffer.BlockCopy(buffer, 0, data, receivedBytes, readBytes);
                            receivedBytes += readBytes;

                            // Как только получены все байты файла, останавливаем цикл,
                            // иначе он заблокируется в ожидании новых сетевых данных
                            if (headerDsc.DataSize == receivedBytes)
                            {
                                // Все данные пришли. Выходим из цикла (readBytes всегда > 0)

                                break;
                            }
                        }
                    }
                    if (headerDsc.Message == ServiceMessage.Authorization)
                    {
                        using (MemoryStream Memory = new MemoryStream(headerDsc.DataSize)) // десериализация заголовка
                        {
                            Memory.Write(data, 0, data.Length);
                            Memory.Position = 0;

                            BinaryFormatter bf = new BinaryFormatter();
                            settings = (XmlSet)bf.Deserialize(Memory);
                        }
                    }
                    DataAvailable(this, headerDsc, data); // СОБЫТИЕ ДОСТУПНОСТИ ДАННЫХ

                    //Send(ServiceMessage.file, ipadr, "123.mov", ".mov");
                }
                catch (Exception ex)
                {
                    ErrorMsg = ex.Message;
                    run      = false;
                }
                finally
                {
                    // Обнулим все ссылки на многобайтные объекты
                    headerDsc = null;
                    Network   = null;
                    data      = null;
                    header    = null;
                    buffer    = null;
                }
            }
        }
Example #16
0
        public void RevertSet()
        {
            // Setup up.
            var file = GetXmlFile(nameof(RevertSet));
            File.Delete(file);
            var set = new XmlSet<SimpleType>(file);

            var simple = new SimpleType
            {
                Name = "Test",
                Value = 12.35,
                Price = 4.50m,
                Date = DateTime.Parse("9/1/2015")
            };
            set.Add(simple);
            set.Save();

            var simple2 = new SimpleType
            {
                Name = "Test 2",
                Value = 43.001,
                Price = 8.5m,
                Date = DateTime.Parse("9/2/2015")
            };

            // Execute
            set.Revert();

            // Assert
            Assert.AreEqual(1, set.Count);
            Assert.AreEqual(simple.Name, set.First().Name);
        }
Example #17
0
        public void AddSimpleTypeSaveAndLoad()
        {
            // Setup
            var file = GetXmlFile(nameof(AddSimpleTypeSaveAndLoad));
            File.Delete(file);
            var set = new XmlSet<SimpleType>(file);

            // Execute
            var simple = new SimpleType
            {
                Name = "Test",
                Value = 12.35,
                Price = 4.50m,
                Date = DateTime.Parse("9/1/2015")
            };
            set.Add(simple);
            set.Save();

            var set2 = new XmlSet<SimpleType>(file);
            var result = set2.First();

            // Assert
            Assert.AreEqual(simple.Name, result.Name);
            Assert.AreEqual(simple.Value, result.Value);
            Assert.AreEqual(simple.Price, result.Price);
            Assert.AreEqual(simple.Date, result.Date);
        }