public override void Execute(object parameter)
        {
            List <Customer>      customers      = DB.CustomerRepository.Get();
            List <CustomerModel> customerModels = new List <CustomerModel>();
            CustomerMapper       customerMapper = new CustomerMapper();

            for (int i = 0; i < customers.Count; i++)
            {
                Customer customer = customers[i];

                CustomerModel customerModel = customerMapper.Map(customer);

                customerModels.Add(customerModel);
            }

            OrderAddWindow orderAddWindow = new OrderAddWindow();

            OrderAddViewModel orderAddViewModel = new OrderAddViewModel
            {
                CurrentOrder  = orderViewModel.CurrentOrder,
                CurrentWindow = orderAddWindow,
                Customers     = customerModels
            };

            orderAddWindow.DataContext           = orderAddViewModel;
            orderAddWindow.WindowStyle           = System.Windows.WindowStyle.None;
            orderAddWindow.AllowsTransparency    = true;
            orderAddWindow.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;
            orderAddWindow.ShowDialog();

            List <Order>      orders      = DB.OrderRepository.Get();
            List <OrderModel> orderModels = new List <OrderModel>();
            OrderMapper       orderMapper = new OrderMapper();

            for (int i = 0; i < orders.Count; i++)
            {
                Order order = orders[i];

                OrderModel orderModel = orderMapper.Map(order);

                orderModels.Add(orderModel);
            }

            Enumeration.Enumerate(orderModels);

            orderViewModel.AllOrders    = orderModels;
            orderViewModel.Orders       = new ObservableCollection <OrderModel>(orderModels);
            orderViewModel.CurrentOrder = new OrderModel();
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Create([Bind("ID,CustomerID,OrderType")] OrderAddViewModel orderVM)
        {
            if (ModelState.IsValid)
            {
                Order order = new Order();
                order.Customer   = _context.customers.FirstOrDefault(c => c.ID == orderVM.CustomerID);
                order.OrderType  = orderVM.OrderType;
                order.OrderItems = new List <OrderItem>();
                _context.Add(order);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(orderVM));
        }
Exemplo n.º 3
0
        // GET: Orders/Create
        public IActionResult Create()
        {
            OrderAddViewModel     vm           = new OrderAddViewModel();
            List <SelectListItem> customerList = new List <SelectListItem>();

            foreach (Customer customer in _context.customers)
            {
                SelectListItem sli = new SelectListItem();
                sli.Text  = customer.FirstName + " " + customer.LastName;
                sli.Value = customer.ID.ToString();
                customerList.Add(sli);
            }
            vm.CustomerList = customerList;
            return(View(vm));
        }
Exemplo n.º 4
0
        public IActionResult CreateOrder(OrderAddViewModel orderAddViewModel)
        {
            Task <Order>   order   = _orderService.CreateOrderAsync(orderAddViewModel);
            OrderViewModel orderVM = _mapper.Map <OrderViewModel>(order.Result);

            if (order != null)
            {
                return(new JsonResult(orderVM)
                {
                    StatusCode = StatusCodes.Status200OK
                });
            }

            return(new JsonResult(orderVM)
            {
                StatusCode = StatusCodes.Status409Conflict
            });
        }
Exemplo n.º 5
0
 public AddOrderCommand(OrderAddViewModel orderAddViewModel)
 {
     this.orderAddViewModel = orderAddViewModel;
 }
Exemplo n.º 6
0
        public async Task <Order> CreateOrderAsync(OrderAddViewModel orderAddVM)
        {
            Order order = new Order()
            {
                ContactPhone = orderAddVM.ContactPhone,
                CreateDate   = DateTime.Now,
                CusName      = orderAddVM.CusName,
                Description  = orderAddVM.Description,
                ShipAddress  = orderAddVM.ShipAddress,
                ShipDate     = orderAddVM.ShipDate,
                State        = "pending",
                DiscountCode = orderAddVM.DiscountCode,
                Sum          = 0,
                Total        = 0
            };

            order = _orderRepository.Add(order);

            OrderDetail orderDetail = null;

            foreach (var odd in orderAddVM.OrderDetailAdds)
            {
                ShoesHasSize shoesHasSize = _shoesHasSizeRepository.GetAll()
                                            .Where(h => h.SizeId == odd.SizeId && h.ShoesId == odd.ShoesId).FirstOrDefault();
                if (shoesHasSize != null)
                {
                    if (shoesHasSize.Quantity >= odd.Quantity)
                    {
                        orderDetail = new OrderDetail()
                        {
                            OrderId  = order.Id,
                            Quantity = odd.Quantity,
                            ShoesId  = odd.ShoesId,
                            SizeId   = odd.SizeId
                        };

                        _orderDetailRepository.Add(orderDetail);

                        double price = _shoesRepository.GetById(odd.ShoesId.Value).Price.Value;
                        order.Sum             += price * odd.Quantity;
                        shoesHasSize.Quantity -= odd.Quantity.Value;
                        _shoesHasSizeRepository.Update(shoesHasSize);

                        if (shoesHasSize.Quantity == 0)
                        {
                            Shoes shoes = _shoesRepository.GetById(odd.ShoesId.Value);
                            shoes.IsAvaiable = false;
                            _shoesRepository.Update(shoes);
                        }
                    }
                }
            }

            order.Total = order.Sum;
            if (order.DiscountCode != "")
            {
                order.Discount = _promotionRepository.GetAll()
                                 .Where(p => p.DiscountCode == order.DiscountCode).FirstOrDefault().Discount;
                order.Total -= order.Sum * order.Discount / 100;
            }

            if (order.Total == 0)
            {
                _orderRepository.Delete(order);
                return(null);
            }
            else
            {
                order = _orderRepository.Update(order);
                OrderViewModel orderVM = _mapper.Map <OrderViewModel>(order);
                FirebaseSerivce <OrderViewModel> firebaseSerivce = new FirebaseSerivce <OrderViewModel>();
                await firebaseSerivce.SetDataAsync("orders", orderVM);
            }

            return(order);
        }