コード例 #1
0
        public void End2EndSerializationTest()
        {
            var dto = new OrderRequestDto
            {
                Filled = new TimeOfRepair()
                {
                    Filled = DateTime.Today,
                },
                FullName = "Grigoriy Zalyatskiy",
                DescriptionOfBreakageDevice = new Device()
                {
                    BrokenDevice = Apparat.Kettle,
                    Breakage     = new List <Breakage>()
                    {
                        new Breakage()
                        {
                            BreakageType = DamageType.Burned,
                            Description  = "Cгорел датчик температуры"
                        },
                        new Breakage()
                        {
                            BreakageType = DamageType.Physical,
                            Description  = "Оторвалась крышка"
                        },
                    }
                },
                Price = new Payment()
                {
                    Currency = Currency.Bitcoins,
                    Price    = 0.002,
                },
                Repair = new AdditionalRequirements()
                {
                    TimeOfRepair = new TimeOfRepair()
                    {
                        Days = 7,
                    },
                    BuySomeDetailsYourself = false,
                    AdditionalRequests     = "Почините, пожалуйста чайник, приходится кипятить воду в кастрюльке без него :("
                }
            };

            var tempFileName = Path.GetTempFileName();

            try
            {
                RideDtoHelper.WriteToFile(tempFileName, dto);
                var readDto = RideDtoHelper.LoadFromFile(tempFileName);
                Assert.AreEqual(dto.FullName, readDto.FullName);
                Assert.AreEqual(dto.Price.Price, readDto.Price.Price);
            }
            finally
            {
                File.Delete(tempFileName);
            }
        }
コード例 #2
0
ファイル: Form1.cs プロジェクト: sanekkurt/prog2018
        private void button1_Click(object sender, EventArgs e)
        {
            var sfd = new SaveFileDialog()
            {
                Filter = "Файлы заказов|*.pizza"
            };
            var result = sfd.ShowDialog(this);

            if (result == DialogResult.OK)
            {
                var dto = GetModelFromUI();
                RideDtoHelper.WriteToFile(sfd.FileName, dto);
            }
        }
コード例 #3
0
ファイル: Form1.cs プロジェクト: sanekkurt/prog2018
        private void button2_Click(object sender, EventArgs e)
        {
            var ofd = new OpenFileDialog()
            {
                Filter = "Файл заказа|*.pizza"
            };
            var result = ofd.ShowDialog(this);

            if (result == DialogResult.OK)
            {
                var dto = RideDtoHelper.LoadFromFile(ofd.FileName);
                SetModelToUI(dto);
            }
        }
コード例 #4
0
        public void End2EndSerializationTest()
        {
            var dto = new RideApplicationDto
            {
                Filled               = DateTime.Now,
                FullName             = "Alexandr Malykh",
                Citizenship          = "Russian",
                Age                  = 19,
                Height               = 178,
                Weight               = 60,
                AgeStartCareer       = 15,
                ExperienceInFootball = 3,
                Position             = Position.Goalkeeper,
                WorkingLeg           = WorkingLeg.Right,
                WeakSides            = WeakSides.Endurance,
                Strengths            = Strengths.Reaction,

                Traums = new List <Trauma>()
                {
                    new Trauma
                    {
                        CountTraums = 0,
                        TimeTraums  = 0,
                        TraumаNow   = false,
                        Type        = TraumaTypes.None
                    }
                }
            };
            var tempFileName = Path.GetTempFileName();

            try
            {
                RideDtoHelper.WriteToFile(tempFileName, dto);
                var readDto = RideDtoHelper.LoadFromFile(tempFileName);
                Assert.AreEqual(dto.Filled, readDto.Filled);
            }
            finally
            {
                File.Delete(tempFileName);
            }
        }
コード例 #5
0
        public ActionResult Print(HttpPostedFileBase file)
        {
            if (file != null && file.ContentLength > 0)
            {
                var dto = RideDtoHelper.LoadFromStream(file.InputStream);

                using (var db = new ApplicationDbContext())
                {
                    /*var mNamePizza = new Collection<Models.NamePizza>();
                     * foreach (var npDto in dto.Pizza.NamePizza)
                     * {
                     *  mNamePizza.Add((Models.NamePizza)(int)npDto);
                     * }
                     * var mNameSauce = new Collection<Models.NameSauce>();
                     * foreach (var npDto in dto.Pizza.additions.Sauce)
                     * {
                     *  mNameSauce.Add((Models.NameSauce)(int)npDto);
                     * }
                     * var mNameDrink = new Collection<Models.NameDrink>();
                     * foreach (var npDto in dto.Pizza.additions.Drink)
                     * {
                     *  mNameDrink.Add((Models.NameDrink)(int)npDto);
                     * }
                     * var mNumberPizza = new Collection<int>();
                     * foreach (var npDto in dto.Pizza.numberPizza)
                     * {
                     *  mNumberPizza.Add(npDto);
                     * }
                     * var mNumberSauce = new Collection<int>();
                     * foreach (var npDto in dto.Pizza.additions.numberSauce)
                     * {
                     *  mNumberSauce.Add(npDto);
                     * }
                     * var mNumberDrink = new Collection<int>();
                     * foreach (var npDto in dto.Pizza.additions.numberDrink)
                     * {
                     *  mNumberDrink.Add(npDto);
                     * }*/

                    var row = new DbOrder
                    {
                        dateTime         = dto.dateTime,
                        FullNameCustomer = dto.FullNameCustomer,
                        Address          = dto.Address,
                        Price            = dto.Price,
                        Currency         = (Models.Currency)(int) dto.Currency,
                    };

                    row.Pizza = new DbPizzaRequirement();

                    row.Pizza.numberPizzaKernel = new Collection <DbNumberPizza>();
                    foreach (var wpDto in dto.Pizza.numberPizza)
                    {
                        row.Pizza.numberPizzaKernel.Add(new DbNumberPizza
                        {
                            numberPizza = wpDto,
                        });
                    }

                    row.Pizza.NamePizzaKernel = new Collection <DbNamePizza>();
                    foreach (var wpDto in dto.Pizza.NamePizza)
                    {
                        row.Pizza.NamePizzaKernel.Add(new DbNamePizza
                        {
                            NamePizza = (Models.NamePizza)(int) wpDto,
                        });
                    }
                    row.Pizza.Additions = new DbAddition();
                    row.Pizza.Additions.numberDrinkKernel = new Collection <DbNumberDrink>();
                    foreach (var wpDto in dto.Pizza.additions.numberDrink)
                    {
                        row.Pizza.Additions.numberDrinkKernel.Add(new DbNumberDrink
                        {
                            numberDrink = wpDto,
                        });
                    }

                    row.Pizza.Additions.DrinkKernel = new Collection <DbNameDrink>();
                    foreach (var wpDto in dto.Pizza.additions.Drink)
                    {
                        row.Pizza.Additions.DrinkKernel.Add(new DbNameDrink
                        {
                            NameDrink = (Models.NameDrink)(int) wpDto,
                        });
                    }

                    row.Pizza.Additions.numberSauceKernel = new Collection <DbNumberSauce>();
                    foreach (var wpDto in dto.Pizza.additions.numberSauce)
                    {
                        row.Pizza.Additions.numberSauceKernel.Add(new DbNumberSauce
                        {
                            numberSauce = wpDto,
                        });
                    }

                    row.Pizza.Additions.SauceKernel = new Collection <DbNameSauce>();
                    foreach (var wpDto in dto.Pizza.additions.Sauce)
                    {
                        row.Pizza.Additions.SauceKernel.Add(new DbNameSauce
                        {
                            NameSauce = (Models.NameSauce)(int) wpDto,
                        });
                    }

                    /*row.Pizza.Additions = new DbAddition
                     * {
                     *  numberSauce = mNumberSauce,
                     *  numberDrink = mNumberDrink,
                     *  Sauce = mNameSauce,
                     *  Drink = mNameDrink,
                     * };*/

                    db.Orders.Add(row);
                    db.SaveChanges();
                }

                return(View(dto));
            }

            return(RedirectToAction("Index"));
        }