Пример #1
0
        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);
        }
Пример #2
0
        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);
        }