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(); }
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)); }
// 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)); }
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 }); }
public AddOrderCommand(OrderAddViewModel orderAddViewModel) { this.orderAddViewModel = orderAddViewModel; }
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); }