private void Combos_Add(object sender, OrderEventArgs e) { var orderId = _viewModel.CurrentOrderId; var entity = new OrderCombo { Order = _orderRepository.Get(orderId), Product = _productRepository.Get(e.ProductId), CustomerLocation = _customerLocationRepository.Get(e.LocationId), Quantity = e.Quantity, Weight = e.Weight }; _orderComboRepository.Add(entity); _orderComboRepository.Save(); _viewModel.CombosSource.Orders.Add(new OrderConstructorViewModel { Id = entity.Id, LocationId = e.LocationId, ProductId = e.ProductId, ProductName = entity.Product.Upc, Qty = e.Quantity, ShipTo = entity.CustomerLocation.Name, Weight = e.Weight }); _labelCreateService.ProduceLabel(e.OrderDetailId, Convert.ToDouble(e.Weight), OmsLabelType.Box, e.Quantity, _viewModel.ProcessDate, null, null, null); }
public AcknowledgementInherit <List <BillViewModel> > CreateOrder(OrderViewModel data) { var dataReturn = new List <BillViewModel>(); foreach (var p in data.cartGroup) { Order order = new Order() { CustomerName = data.customerInform.Name, CustomerPhone = data.customerInform.Phone, CustomerEmail = data.customerInform.Email, CustomerAddressId = 1,// gán đại CardNumber = (data.customerInform.KHTT != null)? data.customerInform.KHTT.ToString(): "", SendToCustomer = data.customerInform.isReceiver, ReceiverName = (!data.customerInform.isReceiver) ? data.receiverInform.Name : data.customerInform.Name, ReceiverPhone = (!data.customerInform.isReceiver) ? data.receiverInform.Phone : data.customerInform.Phone, ReceiverEmail = (!data.customerInform.isReceiver) ? data.receiverInform.Email : data.customerInform.Email, ReceiverAddressId = (!data.customerInform.isReceiver) ? 1 : 0,//gán đại nếu có giá trị thì gán thật TotalPrice = p.Sum(o => o.comboInform.combo.TotalPrice * o.quantity), PaidPrice = p.Sum(o => o.comboInform.combo.TotalPrice * o.quantity) / 2, Status = 1, CreatedDate = DateTime.Now, UpdatedDate = DateTime.Now, StoreId = p[0].storeId, DeliveryTime = p[0].dateDelivery, Charge = 0, //gán đại StringId = "a", //gán đại Distance = 10, // gán đại EventId = 1, //gán đại MinimumPaymentRequire = 0 // gán đại }; db.Orders.Add(order); db.SaveChanges(); //tạo order để lấy orderId, order lúc này có tổng tiền bằng 0 var comboOrderViewList = new List <ComboOrderView>(); //biến tính tổng tiền để gán lại cho order //var tongTienMoiHD = 0; //vòng lặp tạo ordercombo foreach (var x in p) { OrderCombo orderCombo = new OrderCombo() { OrderId = order.Id, ComboId = x.comboInform.combo.Id, Quantity = x.quantity, UnitPrice = x.comboInform.combo.TotalPrice, Note = x.note }; db.OrderComboes.Add(orderCombo); db.SaveChanges(); //dataReturn //gán ordercombo để trả về client var comboOrderView = new ComboOrderView() { orderCombo = orderCombo, comboName = db.Comboes.Find(orderCombo.ComboId).Name }; comboOrderViewList.Add(comboOrderView); //tongTienMoiHD += x.quantity * x.comboInform.combo.TotalPrice; } ////gán lại totalPrice cho order //order.TotalPrice = tongTienMoiHD; //order.PaidPrice = tongTienMoiHD / 2; //db.SaveChanges(); // gán bill để trả về client var d = new BillViewModel() { order = order, comboOrderList = comboOrderViewList, store = db.Stores.Find(order.StoreId) }; dataReturn.Add(d); } var ack = new AcknowledgementInherit <List <BillViewModel> >(); ack.isSuccess = true; ack.Data = dataReturn; return(ack); }