void GetHtmlPage()
        {
            string text = System.IO.File.ReadAllText(Server.MapPath("../ShopPage/CustomerManager.html"));

            JinianNet.JNTemplate.TemplateContext context = new JinianNet.JNTemplate.TemplateContext();
            string strWhere = string.Empty;
            List <OrderCustomer> ordercustomerModel = new List <OrderCustomer>();

            if (shopid != null && shopid != "")
            {
                shopid   = " and d.[SID]='" + shopid + "' ";
                strWhere = shopid;

                MSProductOrderDAL customerDal = new MSProductOrderDAL();
                DataSet           orderds     = customerDal.GetOrderUser(strWhere);
                if (orderds != null && orderds.Tables.Count > 0 && orderds.Tables[0].Rows.Count > 0)
                {
                    foreach (DataRow row in orderds.Tables[0].Rows)
                    {
                        OrderCustomer customermodel = DataConvert.DataRowToModel <OrderCustomer>(row);
                        ordercustomerModel.Add(customermodel);
                    }
                }
            }

            context.TempData["customerlist"] = ordercustomerModel;
            context.TempData["cuid"]         = cuid;
            context.TempData["errorscript"]  = errorscript;
            JinianNet.JNTemplate.Template t = new JinianNet.JNTemplate.Template(context, text);
            t.Render(Response.Output);
        }
示例#2
0
 public void CreateNewOrder(OrderDto orderDto)
 {
     using (NpgsqlConnection connection = this.databaseConnectionFactory.Instance.Create())
     {
         connection.Open();
         using (var transaction = connection.BeginTransaction())
         {
             try
             {
                 Order            order            = this.dtoToEntityMapper.Map <OrderDto, Order>(orderDto);
                 long             orderId          = this.orderService.Insert(connection, order);
                 OrderCustomerDto orderCustomerDto = new OrderCustomerDto
                 {
                     CustomerId = orderDto.CustomerId,
                     OrderId    = orderId
                 };
                 OrderCustomer orderCustomer = this.dtoToEntityMapper.Map <OrderCustomerDto, OrderCustomer>(orderCustomerDto);
                 this.orderCustomerService.Insert(connection, orderCustomer);
                 IEnumerable <OrderItem> orderItems = this.dtoToEntityMapper.MapList <IEnumerable <OrderItemDto>, IEnumerable <OrderItem> >(orderDto.OrderItems);
                 IEnumerable <OrderItem> calculatedOrderItemsWithBasicDiscount          = this.orderItemService.IncludeBasicDiscountForPaying(connection, orderItems);
                 IEnumerable <OrderItem> calculatedOrderItemsWithBasicAndActionDiscount = this.orderItemService.IncludeActionDiscountForPaying(connection, calculatedOrderItemsWithBasicDiscount);
                 this.orderItemService.InsertList(connection, calculatedOrderItemsWithBasicAndActionDiscount, transaction);
                 this.orderItemOrderService.InsertList(connection, calculatedOrderItemsWithBasicAndActionDiscount, orderId, transaction);
                 transaction.Commit();
             }
             catch (Exception ex)
             {
                 transaction.Rollback();
                 Console.Write(ex.Message);
             }
         }
     }
 }
示例#3
0
        private async Task <bool> ApplyVoucher(ExecuteOrderCommand message, OrderCustomer order)
        {
            if (!message.VoucherUsage)
            {
                return(true);
            }

            var voucher = await _voucherRepository.GetVoucherByCode(message.VoucherCode);

            if (voucher == null)
            {
                AddErrors("Voucher not found!");
                return(false);
            }

            var voucherValidation = new VoucherValidation().Validate(voucher);

            if (!voucherValidation.IsValid)
            {
                voucherValidation.Errors.ToList().ForEach(m => AddErrors(m.ErrorMessage));
                return(false);
            }

            order.AssociateVoucher(voucher);
            voucher.DebitStock();

            _voucherRepository.Update(voucher);

            return(true);
        }
示例#4
0
        public async Task <bool> ProcessPayment(OrderCustomer order, ExecuteOrderCommand message)
        {
            var orderStarted = new OrderStartedIntegrationEvent
            {
                OrderId        = order.Id,
                CustomerId     = order.CustomerId,
                TotalValue     = order.TotalValue,
                PaymentMethod  = 1, // fixed. Change if you have more types
                CardHolder     = message.CardHolder,
                CardNumber     = message.CardNumber,
                CardExpiration = message.CardExpiration,
                CardCvv        = message.CardCvv
            };

            var result = await _bus
                         .RequestAsync <OrderStartedIntegrationEvent, ResponseMessage>(orderStarted);

            if (result.ValidationResult.IsValid)
            {
                return(true);
            }

            foreach (var error in result.ValidationResult.Errors)
            {
                AddErrors(error.ErrorMessage);
            }

            return(false);
        }
 public NewOrderMessage(Order order, OrderCustomer orderCustomer, OrderEmployee orderEmployee, IList <OrderItem> orderItems)
 {
     NewOrder         = order;
     NewOrderCustomer = orderCustomer;
     NewOrderEmployee = orderEmployee;
     NewOrderItems    = orderItems;
 }
 public void Insert(IDbConnection connection, OrderCustomer orderCustomer, IDbTransaction transaction = null)
 {
     connection.Execute(OrderCustomerQueries.Insert, new
     {
         customerId = orderCustomer.CustomerId.Content,
         orderId    = orderCustomer.OrderId.Content
     });
 }
 public void Update(IDbConnection connection, OrderCustomer orderCustomer, IDbTransaction transaction = null)
 {
     connection.Execute(OrderCustomerQueries.Update, new
     {
         orderId    = orderCustomer.OrderId.Content,
         customerId = orderCustomer.CustomerId.Content
     });
 }
示例#8
0
        public void UpdateOrderCustomer(OrderCustomerDTO customerDto)
        {
            var           mapper   = new MapperConfiguration(cfg => cfg.CreateMap <OrderCustomerDTO, OrderCustomer>()).CreateMapper();
            OrderCustomer customer = mapper.Map <OrderCustomerDTO, OrderCustomer>(customerDto);

            Database.OrderCustomers.Update(customer);
            Database.Save();
        }
示例#9
0
        public async Task <DatabaseResponse> GetCustomerIdFromOrderId(int orderId)
        {
            try
            {
                SqlParameter[] parameters =
                {
                    new SqlParameter("@OrderID", SqlDbType.Int)
                };

                parameters[0].Value = orderId;

                _DataHelper = new DataAccessHelper("Order_GetCustomerIDByOrderID", parameters, _configuration);

                DataTable dt = new DataTable();

                int result = await _DataHelper.RunAsync(dt); // 105 /102

                DatabaseResponse response = new DatabaseResponse();

                if (result == 105)
                {
                    OrderCustomer customer = new OrderCustomer();

                    if (dt != null && dt.Rows.Count > 0)
                    {
                        customer = (from model in dt.AsEnumerable()
                                    select new OrderCustomer()
                        {
                            CustomerId = model.Field <int>("CustomerID"),
                        }).FirstOrDefault();
                    }

                    response = new DatabaseResponse {
                        ResponseCode = result, Results = customer
                    };
                }

                else
                {
                    response = new DatabaseResponse {
                        ResponseCode = result
                    };
                }

                return(response);
            }

            catch (Exception ex)
            {
                Log.Error(new ExceptionHelper().GetLogString(ex, ErrorLevel.Critical));

                throw (ex);
            }
            finally
            {
                _DataHelper.Dispose();
            }
        }
示例#10
0
        static void ExportCustomer(int OldId)
        {
            var existsClients = AlohaFly.DBProvider.Client.GetOrderCustomerList().Result;
            var cls           = db.Client;
            //var clsList = new List<OrderCustomer>();
            var cl = db.Client.SingleOrDefault(a => a.ID == OldId);

            if (existsClients.Any(a => a.OldId == cl.ID))
            {
                return;
            }
            var orderCustomer = new OrderCustomer();

            orderCustomer.OldId           = cl.ID;
            orderCustomer.Name            = cl.Name;
            orderCustomer.SecondName      = cl.FamilyName;
            orderCustomer.IsActive        = true;
            orderCustomer.Comments        = cl.Comment;
            orderCustomer.DiscountPercent = 0;
            orderCustomer.Email           = cl.Email;

            orderCustomer.Phones = new List <OrderCustomerPhone>();
            foreach (var tel in db.Tel.Where(a => a.ID == cl.ID))
            {
                OrderCustomerPhone ph = new OrderCustomerPhone()
                {
                    IsActive  = tel.Active,
                    IsPrimary = (tel.ID == db.Tel.Where(a => a.ID == cl.ID).Select(a => a.ID).Max()),
                    Phone     = tel.Number
                };
                orderCustomer.Phones.Add(ph);
            }
            orderCustomer.Addresses = new List <OrderCustomerAddress>();
            {
                foreach (var addr in db.Address.Where(a => a.ID == cl.ID))
                {
                    OrderCustomerAddress ph = new OrderCustomerAddress()
                    {
                        IsActive  = addr.Active.GetValueOrDefault(true),
                        IsPrimary = (addr.ID == db.Address.Where(a => a.ID == cl.ID).Select(a => a.ID).Max()),
                        Address   = addr.Address1,
                        Comment   = addr.Comment,
                        MapUrl    = addr.MapURL,
                        SubWay    = addr.Subway,
                        ZoneId    = addr.Zone.GetValueOrDefault(1),
                        OldId     = addr.ID
                    };
                    orderCustomer.Addresses.Add(ph);
                }
            }
            //clsList.Add(orderCustomer);
            var res = AlohaFly.DBProvider.Client.CreateOrderCustomer(orderCustomer);

            if (!res.Success)
            {
                string err = res.ErrorMessage;
            }
        }
示例#11
0
        public IActionResult CreateOrder(IFormCollection items)
        {
            Item myItem = new Item
            {
                itemSequenceNumber = 1,
                productID          = int.Parse(items["id"]),
                quantity           = int.Parse(items["quantity"])
            };

            List <Item> myItemList = new List <Item>()
            {
                myItem
            };

            OrderCustomer myOrderCustomer = new OrderCustomer
            {
                firstName   = items["FirstName"],
                lastName    = items["LastName"],
                companyName = items["CompanyName"],
                address1    = items["Address1"],
                address2    = items["Address2"],
                city        = items["City"],
                state       = items["State"],
                postalCode  = items["PostalCode"],
                countryCode = items["CountryCode"],
                email       = items["Email"],
                phone       = items["Phone"]
            };

            string  mailingMethod = items["MailingMethod"];
            string  mailingCode   = mailingMethod.Substring(0, mailingMethod.IndexOf(' '));
            Mailing myMailings    = new Mailing()
            {
                mailingSequenceNumber = 1,
                mailingMethod         = mailingCode
            };

            List <Mailing> myMailingsList = new List <Mailing>()
            {
                myMailings
            };

            Order myOrder = new Order
            {
                partnerOrderReference = "Order Ref",
                orderCustomer         = myOrderCustomer,
                items    = myItemList,
                mailings = myMailingsList
            };

            RootObjectOrder rObj = APIServices.PostOrder(myOrder).Result;

            return(View("~/Views/Order/Index.cshtml", rObj.results.data));
        }
示例#12
0
 public static OrderCustomerAddress GetPrimaryAddress(this OrderCustomer orderCustomer)
 {
     if (orderCustomer == null)
     {
         return(null);
     }
     if (DataCatalogsSingleton.Instance.OrderCustomerAddressData.Data.Any(a => a.OrderCustomerId == orderCustomer.Id && a.IsPrimary))
     {
         return(DataCatalogsSingleton.Instance.OrderCustomerAddressData.Data.FirstOrDefault(a => a.OrderCustomerId == orderCustomer.Id && a.IsPrimary));
     }
     return(null);
 }
示例#13
0
        public string PrintReciept()
        {
            string reciept = "Receipt";

            reciept = "**********************\n" +
                      PizzaStore.ToReceipt() + "\n" +
                      "**********************\n" +
                      OrderCustomer.GetCustomerName() + "\n" +
                      OrderCustomer.GetCustomerAddress() + "\n" +
                      "**********************\n" +
                      PizzaLister();
            return(reciept);
        }
示例#14
0
        //--------------------OrderCustomer---------------------

        public void CreateOrderCustomer(OrderCustomerDTO customerDto)
        {
            if (customerDto == null)
            {
                throw new ValidationException("При добавлении нового заказа покупателя произошла ошибка. Экземпляр объекта OrderCustomerDTO равен null.", "");
            }

            var           mapper   = new MapperConfiguration(cfg => cfg.CreateMap <OrderCustomerDTO, OrderCustomer>()).CreateMapper();
            OrderCustomer customer = mapper.Map <OrderCustomerDTO, OrderCustomer>(customerDto);

            Database.OrderCustomers.Create(customer);
            Database.Save();
        }
        public ToGoClientViewModel(OrderCustomer orderCustomer)
        {
            OrderCustomer = orderCustomer;

            PhonesVM = new FullyObservableCollection <OrderCustomerPhone>();
            phonesConnector.Select(a => a.OrderCustomerId == OrderCustomer.Id)
            .OrderBy(a => Convert.ToInt32(!a.IsPrimary))
            .Subsribe(DataCatalogsSingleton.Instance.OrderCustomerPhoneData, PhonesVM)
            .SubsribeAction(DataCatalogsSingleton.Instance.OrderCustomerPhoneData, a => SetPrimaryPhone(a), a => a.FirstOrDefault(b => b.IsPrimary));

            AddressesVM = new FullyObservableCollection <OrderCustomerAddress>();
            addressConnector.Select(a => a.OrderCustomerId == OrderCustomer.Id)
            .OrderBy(a => Convert.ToInt32(!a.IsPrimary))
            .Subsribe(DataCatalogsSingleton.Instance.OrderCustomerAddressData, AddressesVM)
            .SubsribeAction(DataCatalogsSingleton.Instance.OrderCustomerAddressData, a => SetPrimaryAddress(a), a => a.FirstOrDefault(b => b.IsPrimary));
        }
示例#16
0
        //
        // GET: /Order/Create

        public ActionResult Create()
        {
            var customers = customerRepository.Fetch().ToList();
            var order     = new Order();
            var model     = new OrderCustomer()
            {
                Customers =
                    customers.Select(
                        x =>
                        new SelectListItem()
                {
                    Text  = x.FirstName,
                    Value = x.ID.ToString()
                }),
                Order = order
            };

            return(View("Create", model));
        }
示例#17
0
        private OrderCustomer MappingOrder(ExecuteOrderCommand message)
        {
            var address = new Address
            {
                Street       = message.Address.Street,
                Number       = message.Address.Number,
                Complement   = message.Address.Complement,
                Neighborhood = message.Address.Neighborhood,
                ZipCode      = message.Address.ZipCode,
                City         = message.Address.City,
                State        = message.Address.State
            };

            var order = new OrderCustomer(message.CustomerId, message.TotalValue, message.OrderItems.Select(OrderItemDTO.ToOrderItem).ToList(),
                                          message.VoucherUsage, message.Discount);

            order.AssociateAddress(address);
            return(order);
        }
示例#18
0
        public ToGoClientEditViewModel(OrderCustomer client, bool isNew = false)
        {
            EditablePhones    = new FullyObservableCollection <OrderCustomerPhone>();
            EditableAddresses = new FullyObservableCollection <OrderCustomerAddress>();

            if (!isNew)
            {
                if (client != null)
                {
                    Client            = (OrderCustomer)client.Clone();
                    OriginalPhones    = DataCatalogsSingleton.Instance.OrderCustomerPhoneData.Data.Where(a => a.OrderCustomerId == Client.Id).ToList();
                    OriginalAddresses = DataCatalogsSingleton.Instance.OrderCustomerAddressData.Data.Where(a => a.OrderCustomerId == Client.Id).ToList();

                    foreach (var ph in OriginalPhones)
                    {
                        EditablePhones.Add((OrderCustomerPhone)ph.Clone());
                    }
                    foreach (var ph in OriginalAddresses)
                    {
                        EditableAddresses.Add((OrderCustomerAddress)ph.Clone());
                    }
                }
            }
            else
            {
                Client = new OrderCustomer()
                {
                    IsActive = true
                };
                OriginalPhones = new List <OrderCustomerPhone>();
                EditablePhones.Add(new OrderCustomerPhone()
                {
                    IsPrimary = true, IsActive = true
                });
                OriginalAddresses = new List <OrderCustomerAddress>();
                EditableAddresses.Add(new OrderCustomerAddress()
                {
                    IsPrimary = true, IsActive = true
                });
            }
            EditablePhones.ItemPropertyChanged    += EditablePhones_ItemPropertyChanged;
            EditableAddresses.ItemPropertyChanged += EditablePhones_ItemPropertyChanged;
        }
        //
        // GET: /Order/Create
        public ActionResult Create()
        {
            var customers = customerRepository.Fetch().ToList();
            var order = new Order();
            var model = new OrderCustomer()
                            {
                                Customers =
                                    customers.Select(
                                        x =>
                                        new SelectListItem()
                                            {
                                                Text = x.FirstName,
                                                Value = x.ID.ToString()
                                            }),
                                Order = order
                            };

            return View("Create", model);
        }
        public ToGoClientExtViewModel(OrderCustomer orderCustomer) : base(orderCustomer)
        {
            _commentsVis = this.WhenAnyValue(a => a.OrderCustomer.Comments)
                           .Select(a => !string.IsNullOrWhiteSpace(a) ? Visibility.Visible : Visibility.Collapsed)
                           .ObserveOn(RxApp.MainThreadScheduler)
                           .ToProperty(this, x => x.CommentsVis);

            _emailVis = this.WhenAnyValue(a => a.OrderCustomer.Email)
                        .Select(a => !string.IsNullOrWhiteSpace(a) ? Visibility.Visible : Visibility.Collapsed)
                        .ObserveOn(RxApp.MainThreadScheduler)
                        .ToProperty(this, x => x.EmailVis);


            _discountPercentVis = this.WhenAnyValue(a => a.OrderCustomer.DiscountPercent)
                                  .Select(a => a != 0 ? Visibility.Visible : Visibility.Collapsed)
                                  .ObserveOn(RxApp.MainThreadScheduler)
                                  .ToProperty(this, x => x.DiscountPercentVis);

            string n = OrderCustomer.FullName;
        }
        public static OrderCustomerDTO ToOrderCustomerDTO(OrderCustomer orderCustomer)
        {
            var orderCustomerDTO = new OrderCustomerDTO
            {
                Id           = orderCustomer.Id,
                Code         = orderCustomer.Code,
                OrderStatus  = (int)orderCustomer.OrderStatus,
                DateRegister = orderCustomer.DateRegister,
                TotalValue   = orderCustomer.TotalValue,
                Discount     = orderCustomer.Discount,
                VoucherUsage = orderCustomer.VoucherUsage,
                OrderItems   = new List <OrderItemDTO>(),
                Address      = new AddressDTO()
            };

            foreach (var item in orderCustomer.OrderItems)
            {
                orderCustomerDTO.OrderItems.Add(new OrderItemDTO
                {
                    Name      = item.Name,
                    Image     = item.Image,
                    Quantity  = item.Quantity,
                    ProductId = item.ProductId,
                    Value     = item.Value,
                    OrderId   = item.OrderId
                });
            }

            orderCustomerDTO.Address = new AddressDTO
            {
                Street       = orderCustomer.Address.Street,
                Number       = orderCustomer.Address.Number,
                Complement   = orderCustomer.Address.Complement,
                Neighborhood = orderCustomer.Address.Neighborhood,
                ZipCode      = orderCustomer.Address.ZipCode,
                City         = orderCustomer.Address.City,
                State        = orderCustomer.Address.State,
            };

            return(orderCustomerDTO);
        }
示例#22
0
        private bool ValidateOrder(OrderCustomer order)
        {
            var orderValueOriginal = order.TotalValue;
            var orderDiscount      = order.Discount;

            order.CalculateTotalValueOrder();

            if (order.TotalValue != orderValueOriginal)
            {
                AddErrors("The total order amount does not match the order calculation");
                return(false);
            }

            if (order.Discount != orderDiscount)
            {
                AddErrors("The total amount does not match the order calculation");
                return(false);
            }

            return(true);
        }
示例#23
0
        // Personal data and list of the orders of the courier
        public ActionResult Deliver()
        {
            string  name    = User.Identity.Name;
            User    user    = UserManager.GetUserByEmail(name);
            Courier courier = CourierManager.GetCourierByUserId(user.IdUser);

            var orderslist = new List <Order>();

            if (OrderManager.GetOrdersByCourier(courier.IdCourier) != null)
            {
                orderslist = OrderManager.GetOrdersByCourier(courier.IdCourier);
            }
            //order by the idOrder descending
            var descendingOrder = orderslist.OrderByDescending(i => i.IdOrder);

            var orderCustomer = new List <OrderCustomer>();

            foreach (var item in descendingOrder)
            {
                var order = new OrderCustomer();
                order.order = item;
                var customer     = CustomerManager.GetCustomer(item.IdClient);
                var customerdata = UserManager.GetUser(customer.IdUser);
                order.user = customerdata;
                order.city = CityManager.GetCity(customerdata.IdCity);

                orderCustomer.Add(order);
            }

            var deliverData = new DeliverData();

            deliverData.orderlist = orderCustomer;
            deliverData.user      = user;
            deliverData.city      = CityManager.GetCity(user.IdCity);

            return(View(deliverData));
        }
        public IActionResult PaymentPost()
        {
            List <int>    lstCartItem   = HttpContext.Session.Get <List <int> >("ssShoppingCart");
            OrderCustomer orderCustomer = ShoppingCartVM.OrderCustomer;

            orderCustomer.DateOrder = Convert.ToDateTime(DateTime.Now.ToString("dd/MM/yyyy"));
            _db.OrderCustomers.Add(orderCustomer);
            _db.SaveChanges();
            int orderCustomerId = orderCustomer.Id;

            foreach (int shoesId in lstCartItem)
            {
                ProductSelectedForOrder productSelectedForOrder = new ProductSelectedForOrder
                {
                    ShoesId          = shoesId,
                    OrderCustomersID = orderCustomerId
                };
                _db.ProductSelectedForOrders.Add(productSelectedForOrder);
            }
            _db.SaveChanges();
            lstCartItem = new List <int>();
            HttpContext.Session.Set("ssShoppingCart", lstCartItem);
            return(RedirectToAction("Index"));
        }
示例#25
0
 /// <summary>
 /// 删除实体
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public void Delete(OrderCustomer model)
 {
     this._repoOrderCustomer.Delete(model);
 }
 /// <summary>
 /// 删除实体
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public void Delete(OrderCustomer model)
 {
     this._OrderCustomerBiz.Delete(model);
 }
 /// <summary>
 /// 修改实体
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public void Update(OrderCustomer model)
 {
     this._OrderCustomerBiz.Update(model);
 }
 /// <summary>
 /// 添加实体
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public OrderCustomer Insert(OrderCustomer model)
 {
     return(this._OrderCustomerBiz.Insert(model));
 }
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            User user1 = new User()
            {
                Id = 1, Email = "*****@*****.**", Password = "******", Role = "User"
            };
            User user2 = new User()
            {
                Id = 2, Email = "*****@*****.**", Password = "******", Role = "User"
            };
            User user3 = new User()
            {
                Id = 3, Email = "*****@*****.**", Password = "******", Role = "Admin"
            };

            modelBuilder.Entity <User>().HasData(new User[] { user1, user2, user3 });


            OrderSeller orderSeller1 = new OrderSeller {
                Id = 1, Header = "Мобильный телефон Samsung Galaxy A31 4/128GB Prism Crush White (SM-A315FZWVSEK)", Description = "Samsung Galaxy A31 – смартфон среднего ценового сегмента, сочетающий в себе хороший уровень оснащения, емкий аккумулятор и строгий обновленный дизайн. Элегантные цвета корпуса дополнены стильным узором, что прибавляет баллы внешнему виду устройства. В Samsung Galaxy A31 устанавливается 6,4-дюймовый sAMOLED дисплей с разрешением 2400х1080 точек и плотностью пикселей 411 ppi. Достаточную для комфортного повседневного использования производительность обеспечивает 8-ядерный процессор. Основная камера состоит из 4 модулей на 48, 8 и пары по 5 МП. Фронтальная камера установлена в небольшом каплевидном вырезе в экране и оснащается 20 МП модулем. Особенностью Samsung Galaxy A31 является также встроенный в дисплей сканер отпечатков пальцев, а также наличие NFC.", UserId = 1
            };
            OrderSeller orderSeller2 = new OrderSeller {
                Id = 2, Header = "Мобильный телефон Apple iPhone 11 128GB PRODUCT Red Официальная гарантия", Description = "iPhone 11 нельзя назвать абсолютно новым смартфоном, это прямой потомок iPhone XR. Смартфон изменился внешне очень минимально, габариты с предшественником совпадают полностью. Главным внешним новшеством являются обновленные цветовые решения, но это по-прежнему самый яркий iPhone. Еще одним изменением стало появление второго модуля камеры, теперь к широкоугольному добавился ультраширокоугольный объектив. Это позволит создавать групповые портреты и красивые панорамы. В качестве процессора теперь используется более быстрый и энергоэффективный Apple 13 Bionic. Что касается времени автономной работы, то и здесь компания сделала шаг вперед и смартфон должен работать как минимум на час дольше модели XR.", UserId = 1
            };
            OrderSeller orderSeller3 = new OrderSeller {
                Id = 3, Header = "Смартфон Samsung Galaxy M21 4/64GB Green (SM-M215FZGU)", Description = "Samsung Galaxy M21 – обновленная версия одного из самых сбалансированных решений компании в среднем сегменте. Устройство объединяет в себе элегантный лаконичный дизайн, безрамочное исполнение и хороший уровень оснащения. 6,4-дюймовый Super AMOLED дисплей Samsung Galaxy M21 имеет разрешение 2340х1080 точек. Фронтальная камера на 20- МП установлена в небольшом каплевидном вырезе. Она поддерживает технологию распознавания по лицу. Комфортный для любых задач уровень производительности обеспечивает 8-ядерный процессор Samsung Exynos 7. Основная камера смартфона состоит из трех модулей на 48, 8 и 5 МП. Она способна вести запись видео в разрешении 3840х2160 точек и с высокой частотой до 240 к/с. Важной особенностью Samsung Galaxy M21 является наличие NFC, а также поддержки быстрой зарядки.", UserId = 2
            };
            OrderSeller orderSeller4 = new OrderSeller {
                Id = 4, Header = "Телевизор Samsung UE24H4070AUXUA", Description = "Samsung UE24H4070 ‒ компактный телевизор с диагональю 24 дюйма и разрешением 1366x768 точек. Среди оснащения можно обнаружить тюнеры цифрового и аналогового телевидения и наличие USB интерфейса для просмотра фильмов, изображений и прослушивания музыки. Для экономии места устройство может быть закреплено на стену с помощью кронштейна, за что отвечает поддержка стандарта VESA и наличие разъемов для крепления 75x75 мм. Подключать проигрыватели, игровые приставки, ресиверы и другие устройства предоставляется возможным благодаря наличию разъемов HDMI (2 порта), компонентному, композитному и компьютерному VGA. За звук в Samsung UE24H4070 отвечает акустическая система 2.0 общей мощностью в 20 Вт с поддержкой Dolby Digital Plus, а для тех, кто любит смотреть телевизор в наушниках иммется разъем для их подключения.", UserId = 1
            };
            OrderSeller orderSeller5 = new OrderSeller {
                Id = 5, Header = "Телевизор Xiaomi Mi LED TV 4S 43' UHD 4K(L43M5 - 5ARU)", Description = "Xiaomi Mi TV 4S 43' – бюджетный «умный» 4К - телевизор под управлением операционной системы Google Android TV, адресованный искушенным современным пользователям Smart TV.Основной концептуальный упор делает на крайне демократичную стоимость, по сравнению с сопоставимыми решениями. 10 - килограммовая конструкция наделена простым и аккуратным дизайном, а в качестве штатной акустики задействованы 10 - ваттные стереодинамики с поддержкой технологии объемного звучания Dolby Audio.Дисплеем служит 43 - дюймовый LCD - экран с LED - подсветкой, разрешением 3840x2160 пикселей и заявленной поддержкой HDR.", UserId = 1
            };
            OrderSeller orderSeller6 = new OrderSeller {
                Id = 6, Header = "Телевизор Panasonic TX-32FSR500", Description = "Panasonic TX-32FSR500 – бюджетный «умный» телевизор, ориентированный на базовое мультимедийное применение в содействии с современной пользовательской электроникой. К достоинствам телевизора стоит отнести функциональный встроенный тюнер с поддержкой цифровых стандартов эфирного вещания DVB-C, DVB-T2, DVB-S2, а также бортовую акустику в составе двух 10-ваттных динамиков с поддержкой технологии объемного звучания Cinema Suround. 32-дюймовый LCD-экран с LED-подсветкой обладает разрешением 1366x768 пикселей.", UserId = 2
            };
            OrderSeller orderSeller7 = new OrderSeller {
                Id = 7, Header = "Ноутбук Lenovo IdeaPad S145-15IGM (81MX002RRA) Granite Black", Description = "Lenovo S145 — это 15.6-дюймовый высокопроизводительный ноутбук, который отлично подойдет для работы и развлечений. Ноутбук оснащен производительным процессором, высокоскоростным модулем Wi-Fi и акустической системой высокого качества. Динамический звук. Приготовьтесь окунуться в мир мультимедийных развлечений.Благодаря качественной аудиосистеме S145 обеспечивает громкое звучание музыки и фильмов. Высокая скорость передачи данных. Ноутбук оборудован разъемом USB 3.1, что позволяет обмениваться данными с другими устройствами со скоростью, которая в 10 раз превышает скорость интерфейсов USB более ранних версий. Интернет на сверхвысоких скоростях. Ноутбук S145 оснащен встроенным модулем Wi - Fi 802.11 ac, который обеспечивает молниеносную скорость для веб - серфинга, воспроизведения потокового видео и загрузки файлов.Скорость передачи данных стандарта Wi - Fi 802.11 ac почти в три раза выше, чем 802.11 b / g / n. Внимание к деталям S145 обладает простым, но в то же время элегантным дизайном.Несмотря на свою компактность, ноутбук может похвастать богатой функциональностью и поддержкой современных интерфейсов, включая USB 3.1, HDMI и SD.", UserId = 1
            };
            OrderSeller orderSeller8 = new OrderSeller {
                Id = 8, Header = "Ноутбук HP Pavilion Gaming 15-ec0003ua (9RH21EA) Dark Grey Суперцена!!!", Description = "HP Pavilion Gaming 15 — среднеформатный игровой ноутбук, ориентированный на пользователей, которым нужно мощное и портативное решение. Модель выполнена в обновленном дизайне, соответствующем новой линейке и отличается строгостью и элегантностью. HP Pavilion Gaming 15 оснащается высокопроизводительным процессором Intel Core i7, работающим в паре с дискретным видеоадаптером NVIDIA GeForce GTX950M. В такой конфигурации ноутбук способен справляться с любыми задачами, которые поставит перед ним пользователь. В HP Pavilion Gaming 15 используется качественная IPS матрица, которая обеспечивает отличное качество картинки. Приятным бонусом станет наличие подсветки клавиатуры, что делает возможным игру и работу в темное время суток.", UserId = 1
            };
            OrderSeller orderSeller9 = new OrderSeller {
                Id = 9, Header = "Ноутбук Asus Gaming X571GT-BN436 (90NB0NL1-M07160) Star Black Суперцена!!!", Description = "ASUS Laptop X571 – это современный ноутбук для ежедневного использования как дома, так и в офисе. Его мощная аппаратная конфигурация, в которую входит процессор Intel, видеокарта NVIDIA GeForce 1650 и до 16 гигабайт оперативной памяти, обеспечит высокую скорость работы любых приложений. В качестве операционной системы на него может устанавливаться Windows 10 Pro. Ноутбук ASUS Laptop X571 обладает современной конфигурацией, которая прекрасно подходит для повседневных дел и развлечений, например для обработки видео или запуска легких игр. В максимальной версии она включает в себя процессор Intel Core i7 девятого поколения, оперативную память объемом 16 ГБ и дискретную видеокарту NVIDIA GeForce GTX 1650.", UserId = 2
            };

            modelBuilder.Entity <OrderSeller>().HasData(new OrderSeller[] { orderSeller1, orderSeller2, orderSeller3, orderSeller4, orderSeller5, orderSeller6, orderSeller7, orderSeller8, orderSeller9 });


            Phone phone1 = new Phone {
                Id = 1, Name = "Мобильный телефон Samsung Galaxy A31 4/128GB Prism Crush White (SM-A315FZWVSEK)", Manufacturer = "Samsung", Category = "Phone", PriceStart = 6700, PriceNow = 6350, PriceEnd = 6000, QtyStart = 10, QtyEnd = 5, Screen = 6, CPU = "MediaTek MT6768 2.0 ГГц + 1.7 ГГц", Camera = "12", RAM = 4, Memory = 128, QtySimCard = 2, Charge = 5000, OperationSystem = "Android", OrderSellerId = 1
            };
            Phone phone2 = new Phone {
                Id = 2, Name = "Мобильный телефон Apple iPhone 11 128GB PRODUCT Red Официальная гарантия", Manufacturer = "Apple", Category = "Phone", PriceStart = 26000, PriceNow = 24200, PriceEnd = 23000, QtyStart = 5, QtyEnd = 2, Screen = 8, CPU = "Apple A13 Bionic", Camera = "20", RAM = 4, Memory = 128, QtySimCard = 1, Charge = 3046, OperationSystem = "IOS", OrderSellerId = 2
            };
            Phone phone3 = new Phone {
                Id = 3, Name = "Мобильный телефон Samsung Galaxy M21 4/64GB Green (SM-M215FZGUSEK)", Manufacturer = "Samsung", Category = "Phone", PriceStart = 6300, PriceNow = 6090, PriceEnd = 6000, QtyStart = 10, QtyEnd = 3, Screen = 6.5, CPU = "Samsung Exynos 9611 2.3 ГГц + 1.7 ГГц", Camera = "20", RAM = 4, Memory = 62, QtySimCard = 2, Charge = 6000, OperationSystem = "Android", OrderSellerId = 3
            };

            modelBuilder.Entity <Phone>().HasData(new Phone[] { phone1, phone2, phone3 });



            TV tv1 = new TV()
            {
                Id = 4, Name = "Телевизор Samsung UE24H4070AUXUA", Manufacturer = "Samsung", Category = "TV", PriceStart = 3300, PriceNow = 3150, PriceEnd = 3000, QtyStart = 10, QtyEnd = 5, OrderSellerId = 4, Screen = 24, Resolution = "1366x768", TunerRanges = "DVB-C DVB-S2 DVB-T2", SmartPlatform = "Нет", DimensionsWithStand = "561.8 x 384.2 x 163.8 мм", WeightWithStand = "4.1 кг"
            };
            TV tv2 = new TV()
            {
                Id = 5, Name = "Телевизор Xiaomi Mi LED TV 4S 43' UHD 4K(L43M5 - 5ARU)", Manufacturer = "Xiaomi", Category = "TV", PriceStart = 8000, PriceNow = 7850, PriceEnd = 7500, QtyStart = 10, QtyEnd = 7, OrderSellerId = 5, Screen = 43, Resolution = "3840x2160", TunerRanges = "DVB-C DVB-T2", SmartPlatform = "Android", DimensionsWithStand = "963.3 x 214.6 x 613 мм", WeightWithStand = "7.26 кг"
            };
            TV tv3 = new TV()
            {
                Id = 6, Name = "Телевизор Panasonic TX-32FSR500", Manufacturer = "Panasonic", Category = "TV", PriceStart = 6000, PriceNow = 5700, PriceEnd = 5500, QtyStart = 10, QtyEnd = 4, OrderSellerId = 6, Screen = 32, Resolution = "1366x768", TunerRanges = "DVB-C DVB-S2 DVB-T DVB-T2", SmartPlatform = "My Home Screen 3.0", DimensionsWithStand = "733 x 481 x 198 мм", WeightWithStand = "6 кг"
            };

            modelBuilder.Entity <TV>().HasData(new TV[] { tv1, tv2, tv3 });


            Laptop laptop1 = new Laptop()
            {
                Id = 7, Name = "Ноутбук Lenovo IdeaPad S145-15IGM (81MX002RRA) Granite Black", Manufacturer = "Lenovo", Category = "Laptop", PriceStart = 5000, PriceNow = 4800, PriceEnd = 4500, QtyStart = 10, QtyEnd = 6, OrderSellerId = 7, Screen = 16, CPU = "Двухъядерный Intel Celeron N4000(1.1 - 2.6 ГГц)", RAM = "4 ГБ", Memory = "500 ГБ", Weight = "1.85 кг"
            };
            Laptop laptop2 = new Laptop()
            {
                Id = 8, Name = "Ноутбук HP Pavilion Gaming 15-ec0003ua (9RH21EA) Dark Grey Суперцена!!!", Manufacturer = "HP", Category = "Laptop", PriceStart = 24000, PriceNow = 23800, PriceEnd = 23000, QtyStart = 5, QtyEnd = 4, OrderSellerId = 8, Screen = 16, CPU = "Четырехъядерный AMD Ryzen 5 3550H (2.1 - 3.7 ГГц)", RAM = "16 ГБ", Memory = "500 ГБ", Weight = "2.25 кг"
            };
            Laptop laptop3 = new Laptop()
            {
                Id = 9, Name = "Ноутбук Asus Gaming X571GT-BN436 (90NB0NL1-M07160) Star Black Суперцена!!!", Manufacturer = "ASUS", Category = "Laptop", PriceStart = 21000, PriceNow = 20200, PriceEnd = 19000, QtyStart = 10, QtyEnd = 6, OrderSellerId = 9, Screen = 15, CPU = "Четырехъядерный Intel Core i5-8300H (2.3 - 4.0 ГГц)", RAM = "8 ГБ", Memory = "256 ГБ", Weight = "2.14 кг"
            };

            modelBuilder.Entity <Laptop>().HasData(new Laptop[] { laptop1, laptop2, laptop3 });


            OrderCustomer orderCustomer1 = new OrderCustomer {
                Id = 1, Name = "Иван", Surname = "Иванов", Patronymic = "Иванович", Address = "ул.Иванова 9", ProdId = 1, UserId = 1
            };
            OrderCustomer orderCustomer2 = new OrderCustomer {
                Id = 2, Name = "Василий", Surname = "Васильев", Patronymic = "Васильевич", Address = "ул.Васильева 28", ProdId = 1, UserId = 1
            };
            OrderCustomer orderCustomer3 = new OrderCustomer {
                Id = 3, Name = "Петр", Surname = "Петров", Patronymic = "Петрович", Address = "ул.Петрова 55", ProdId = 1, UserId = 1
            };
            OrderCustomer orderCustomer4 = new OrderCustomer {
                Id = 4, Name = "Евгений", Surname = "Евгенов", Patronymic = "Евгеньевич", Address = "ул.Евгенова 5", ProdId = 2, UserId = 1
            };
            OrderCustomer orderCustomer5 = new OrderCustomer {
                Id = 5, Name = "Юрий", Surname = "Юрьев", Patronymic = "Юрьевич", Address = "ул.Юрьева 30", ProdId = 3, UserId = 2
            };
            OrderCustomer orderCustomer6 = new OrderCustomer {
                Id = 6, Name = "Григорий", Surname = "Григорьев", Patronymic = "Григорьевич", Address = "ул.Григорьева 12", ProdId = 3, UserId = 2
            };

            modelBuilder.Entity <OrderCustomer>().HasData(new OrderCustomer[] { orderCustomer1, orderCustomer2, orderCustomer3, orderCustomer4, orderCustomer5, orderCustomer6 });



            Image image1 = new Image()
            {
                Id = 1, Name = "phone1.jpg", Path = "/images/phone1.jpg", ProductId = phone1.Id
            };
            Image image2 = new Image()
            {
                Id = 2, Name = "phone1_1.jpg", Path = "/images/phone1_1.jpg", ProductId = phone1.Id
            };
            Image image3 = new Image()
            {
                Id = 3, Name = "phone1_2.jpg", Path = "/images/phone1_2.jpg", ProductId = phone1.Id
            };
            Image image4 = new Image()
            {
                Id = 4, Name = "phone1_3.jpg", Path = "/images/phone1_3.jpg", ProductId = phone1.Id
            };
            Image image5 = new Image()
            {
                Id = 5, Name = "phone1_4.jpg", Path = "/images/phone1_4.jpg", ProductId = phone1.Id
            };
            Image image6 = new Image()
            {
                Id = 6, Name = "phone1_5.jpg", Path = "/images/phone1_5.jpg", ProductId = phone1.Id
            };


            Image image7 = new Image()
            {
                Id = 7, Name = "phone2.jpg", Path = "/images/phone2.jpg", ProductId = phone2.Id
            };
            Image image8 = new Image()
            {
                Id = 8, Name = "phone2_1.jpg", Path = "/images/phone2_1.jpg", ProductId = phone2.Id
            };
            Image image9 = new Image()
            {
                Id = 9, Name = "phone2_2.jpg", Path = "/images/phone2_2.jpg", ProductId = phone2.Id
            };
            Image image10 = new Image()
            {
                Id = 10, Name = "phone2_3.jpg", Path = "/images/phone2_3.jpg", ProductId = phone2.Id
            };
            Image image11 = new Image()
            {
                Id = 11, Name = "phone2_4.jpg", Path = "/images/phone2_4.jpg", ProductId = phone2.Id
            };


            Image image12 = new Image()
            {
                Id = 12, Name = "phone3.jpg", Path = "/images/phone3.jpg", ProductId = phone3.Id
            };
            Image image13 = new Image()
            {
                Id = 13, Name = "phone3_1.jpg", Path = "/images/phone3_1.jpg", ProductId = phone3.Id
            };
            Image image14 = new Image()
            {
                Id = 14, Name = "phone3_2.jpg", Path = "/images/phone3_2.jpg", ProductId = phone3.Id
            };
            Image image15 = new Image()
            {
                Id = 15, Name = "phone3_3.jpg", Path = "/images/phone3_3.jpg", ProductId = phone3.Id
            };
            Image image16 = new Image()
            {
                Id = 16, Name = "phone3_4.jpg", Path = "/images/phone3_4.jpg", ProductId = phone3.Id
            };

            Image image17 = new Image()
            {
                Id = 17, Name = "tv1_1.jpg", Path = "/images/tv1_1.jpg", ProductId = tv1.Id
            };
            Image image18 = new Image()
            {
                Id = 18, Name = "tv1_2.jpg", Path = "/images/tv1_2.jpg", ProductId = tv1.Id
            };
            Image image19 = new Image()
            {
                Id = 19, Name = "tv1_3.jpg", Path = "/images/tv1_3.jpg", ProductId = tv1.Id
            };
            Image image20 = new Image()
            {
                Id = 20, Name = "tv1_4.jpg", Path = "/images/tv1_4.jpg", ProductId = tv1.Id
            };
            Image image21 = new Image()
            {
                Id = 21, Name = "tv1_5.jpg", Path = "/images/tv1_5.jpg", ProductId = tv1.Id
            };
            Image image22 = new Image()
            {
                Id = 22, Name = "tv1_6.jpg", Path = "/images/tv1_6.jpg", ProductId = tv1.Id
            };

            Image image23 = new Image()
            {
                Id = 23, Name = "tv2_1.jpg", Path = "/images/tv2_1.jpg", ProductId = tv2.Id
            };
            Image image24 = new Image()
            {
                Id = 24, Name = "tv2_2.jpg", Path = "/images/tv2_2.jpg", ProductId = tv2.Id
            };
            Image image25 = new Image()
            {
                Id = 25, Name = "tv2_3.jpg", Path = "/images/tv2_3.jpg", ProductId = tv2.Id
            };
            Image image26 = new Image()
            {
                Id = 26, Name = "tv2_4.jpg", Path = "/images/tv2_4.jpg", ProductId = tv2.Id
            };
            Image image27 = new Image()
            {
                Id = 27, Name = "tv2_5.jpg", Path = "/images/tv2_5.jpg", ProductId = tv2.Id
            };
            Image image28 = new Image()
            {
                Id = 28, Name = "tv2_6.jpg", Path = "/images/tv2_6.jpg", ProductId = tv2.Id
            };

            Image image29 = new Image()
            {
                Id = 29, Name = "tv3_1.jpg", Path = "/images/tv3_1.jpg", ProductId = tv3.Id
            };
            Image image30 = new Image()
            {
                Id = 30, Name = "tv3_2.jpg", Path = "/images/tv3_2.jpg", ProductId = tv3.Id
            };
            Image image31 = new Image()
            {
                Id = 31, Name = "tv3_3.jpg", Path = "/images/tv3_3.jpg", ProductId = tv3.Id
            };
            Image image32 = new Image()
            {
                Id = 32, Name = "tv3_4.jpg", Path = "/images/tv3_4.jpg", ProductId = tv3.Id
            };
            Image image33 = new Image()
            {
                Id = 33, Name = "tv3_5.jpg", Path = "/images/tv3_5.jpg", ProductId = tv3.Id
            };

            Image image34 = new Image()
            {
                Id = 34, Name = "laptop1_1.jpg", Path = "/images/laptop1_1.jpg", ProductId = laptop1.Id
            };
            Image image35 = new Image()
            {
                Id = 35, Name = "laptop1_2.jpg", Path = "/images/laptop1_2.jpg", ProductId = laptop1.Id
            };
            Image image36 = new Image()
            {
                Id = 36, Name = "laptop1_3.jpg", Path = "/images/laptop1_3.jpg", ProductId = laptop1.Id
            };
            Image image37 = new Image()
            {
                Id = 37, Name = "laptop1_4.jpg", Path = "/images/laptop1_4.jpg", ProductId = laptop1.Id
            };

            Image image38 = new Image()
            {
                Id = 38, Name = "laptop2_1.jpg", Path = "/images/laptop2_1.jpg", ProductId = laptop2.Id
            };
            Image image39 = new Image()
            {
                Id = 39, Name = "laptop2_2.jpg", Path = "/images/laptop2_2.jpg", ProductId = laptop2.Id
            };
            Image image40 = new Image()
            {
                Id = 40, Name = "laptop2_3.jpg", Path = "/images/laptop2_3.jpg", ProductId = laptop2.Id
            };
            Image image41 = new Image()
            {
                Id = 41, Name = "laptop2_4.jpg", Path = "/images/laptop2_4.jpg", ProductId = laptop2.Id
            };

            Image image42 = new Image()
            {
                Id = 42, Name = "laptop3_1.jpg", Path = "/images/laptop3_1.jpg", ProductId = laptop3.Id
            };
            Image image43 = new Image()
            {
                Id = 43, Name = "laptop3_2.jpg", Path = "/images/laptop3_2.jpg", ProductId = laptop3.Id
            };
            Image image44 = new Image()
            {
                Id = 44, Name = "laptop3_3.jpg", Path = "/images/laptop3_3.jpg", ProductId = laptop3.Id
            };
            Image image45 = new Image()
            {
                Id = 45, Name = "laptop3_4.jpg", Path = "/images/laptop3_4.jpg", ProductId = laptop3.Id
            };

            modelBuilder.Entity <Image>().HasData(new Image[] { image1, image2, image3, image4, image5, image6, image7, image8, image9, image10, image11, image12, image13, image14, image15, image16, image17, image18, image19, image20, image21, image22, image23, image24, image25, image26, image27, image28, image29, image30, image31, image32, image33, image34, image35, image36, image37, image38, image39, image40, image41, image42, image43, image44, image45 });
        }
示例#30
0
 public ExitedEventArgs(bool saved, OrderCustomer client)
 {
     Saved  = saved;
     Client = client;
 }
        public OrderViewModel LoadOrderDetailProduct(List<HiLToysDataModel.OrderDetailProductResult> OrderDetailProductResult)
        {
            OrderViewModel orderViewModel = new OrderViewModel();

            orderViewModel.Order.OrderID = OrderDetailProductResult[0].OrderID;
            orderViewModel.Order.OrderDate = OrderDetailProductResult[0].OrderDate;

            OrderCustomer orderCustomer = new OrderCustomer();
            orderCustomer.Customer.CustomerID = OrderDetailProductResult[0].CustomerID;
            orderCustomer.Customer.FirstName = OrderDetailProductResult[0].FirstName;
            orderCustomer.Customer.LastName = OrderDetailProductResult[0].LastName;
            orderViewModel.Customer = orderCustomer.Customer;

            for (int i = 0;  i < OrderDetailProductResult.Count; i++)
            {
                orderViewModel.OrderDetailProducts[i].Products.ProductID = OrderDetailProductResult[i].ProductID;
                orderViewModel.OrderDetailProducts[i].Products.ProductName = OrderDetailProductResult[i].ProductName;
                orderViewModel.OrderDetailProducts[i].Products.QuantityPerUnit = OrderDetailProductResult[i].QuantityPerUnit;

                orderViewModel.OrderDetailProducts[i].Products.UnitPrice = OrderDetailProductResult[i].UnitPrice;
                orderViewModel.OrderDetailProducts[i].OrderDetail.Quantity = OrderDetailProductResult[i].Quantity;
                orderViewModel.OrderDetailProducts[i].OrderDetail.OrderDate = OrderDetailProductResult[i].OrderDate;

                orderViewModel.OrderDetailProducts[i].OrderDetail.Discount = OrderDetailProductResult[i].Discount;
            }

            return orderViewModel;
        }
        public IActionResult AddNewOrder(CreateOrderModel createOrderModel)
        {
            var timestamp = DateTime.UtcNow;

            var newOrder = new Order
            {
                CustomerIdRef = Int32.Parse(createOrderModel?.CustomerSelected),
                EmployeeRef   = Int32.Parse(createOrderModel?.EmployeeSelected),
                PaymentIdRef  = Int32.Parse(createOrderModel?.PaymentSelected),
                Description   =
                    $"Ordered at {timestamp.ToShortDateString()} by {Int32.Parse(createOrderModel?.CustomerSelected)}. Employee: {Int32.Parse(createOrderModel?.EmployeeSelected)}",
                Status    = (new OrderStatus {
                    Status = OrderStatusEnum.Pending
                }).ToString(),
                Timestamp = timestamp,
            };

            var newOrderCustomer = new OrderCustomer
            {
                CustomerIdRef        = newOrder.CustomerIdRef,
                OrderIdRefNavigation = newOrder
            };

            var newOrderEmployee = new OrderEmployee
            {
                EmployeeIdRef        = newOrder.EmployeeRef,
                OrderIdRefNavigation = newOrder
            };

            var newOrderItems = (from foodItem in createOrderModel?.FoodItemsSelected
                                 select new OrderItem
            {
                FoodItemIdRef = Int32.Parse(foodItem),
                Quantity = 1,
                Order = newOrder
            }).ToList();

            var publisher = new Publisher.Publisher();

            try
            {
                var newOrderMessage = new NewOrderMessage(newOrder, newOrderCustomer, newOrderEmployee, newOrderItems);
                publisher.Publish(newOrderMessage);

                string  customerFullName = null;
                string  employeeFullName = null;
                string  paymentCode      = null;
                decimal totalPrice       = 0;
                using (var context = new FoodServiceContext())
                {
                    var customer = context.Customer.FirstOrDefault(x => x.CustomerId == newOrder.CustomerIdRef);
                    customerFullName = $"{customer.FirstName}, {customer.LastName}";

                    var employee = context.Employee.FirstOrDefault(x => x.EmployeeId == newOrder.EmployeeRef);
                    employeeFullName = $"{employee.FirstName}, {employee.LastName}";

                    var payment = context.Payment.FirstOrDefault(x => x.PaymentId == newOrder.PaymentIdRef);
                    paymentCode = payment.Code;

                    foreach (var orderItem in newOrderItems)
                    {
                        var foodItem = context.FoodItem.FirstOrDefault(x => x.FoodItemId == orderItem.FoodItemIdRef);
                        totalPrice += foodItem.UnitPrice * orderItem.Quantity;
                    }
                }
                var toAppend = $"<tr>" +
                               $"<td>{customerFullName}</td>" +
                               $"<td>{employeeFullName}</td>" +
                               $"<td>{paymentCode}</td>" +
                               $"<td>{newOrder.Status}</td>" +
                               $"<td>{newOrder.Timestamp.ToString()}</td>" +
                               $"<td>{totalPrice}</tr>";
                return(Json(new
                {
                    status = "OK",
                    toAppend = toAppend
                }));
            }
            catch (Exception e)
            {
                return(Json(new
                {
                    status = "ERROR"
                }));
            }
        }
        //public OrderDataAccessService(IApplicationDbContext dbContext)
        //{
        //    storeDB = dbContext;
        //}
        public OrderCustomer LoadOrderCustomer(List<HiLToysDataModel.OrderCustomerResult> orderCustomerResult)
        {
            OrderCustomer orderCustomer = new OrderCustomer();

            orderCustomer.Customer.CustomerID = orderCustomerResult[0].CustomerID;
            orderCustomer.Customer.CompanyName = orderCustomerResult[0].CompanyName;
            orderCustomer.Customer.Address = orderCustomerResult[0].Address;
            orderCustomer.Customer.City = orderCustomerResult[0].City;
            orderCustomer.Customer.ContactName = orderCustomerResult[0].ContactName;
            orderCustomer.Customer.ContactTitle = orderCustomerResult[0].ContactTitle;
            orderCustomer.Customer.Fax = orderCustomerResult[0].Fax;
            orderCustomer.Customer.Phone = orderCustomerResult[0].Phone;
            orderCustomer.Customer.PostalCode = orderCustomerResult[0].PostalCode;
            orderCustomer.Customer.Region = orderCustomerResult[0].Region;
            orderCustomer.Customer.Country = orderCustomerResult[0].Country;
            orderCustomer.Order.CustomerID = orderCustomerResult[0].CustomerID;
            orderCustomer.Order.OrderDate = orderCustomerResult[0].OrderDate;
            orderCustomer.Order.OrderID = orderCustomerResult[0].OrderID;
            orderCustomer.Order.ShipAddress = orderCustomerResult[0].ShipAddress;
            orderCustomer.Order.ShipCity = orderCustomerResult[0].ShipCity;
            orderCustomer.Order.ShipCountry = orderCustomerResult[0].ShipCountry;
            orderCustomer.Order.ShipName = orderCustomerResult[0].ShipName;
            orderCustomer.Order.ShipPostalCode = orderCustomerResult[0].ShipPostalCode;
            orderCustomer.Order.ShipRegion = orderCustomerResult[0].ShipRegion;
            orderCustomer.Order.ShipVia = orderCustomerResult[0].ShipVia;
            orderCustomer.Order.RequiredDate = orderCustomerResult[0].RequiredDate;
            orderCustomer.Shipper.CompanyName = orderCustomerResult[0].ShipperName;

            return orderCustomer;
        }