public async Task <IActionResult> PutBillSaleDetail(string id, BillSaleDetail billSaleDetail)
        {
            if (id != billSaleDetail.Id)
            {
                return(BadRequest());
            }

            _context.Entry(billSaleDetail).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!BillSaleDetailExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Exemplo n.º 2
0
 public BillDetailView(BillSaleDetail output, string nameProduct, string promotionName, double?saleOff)
 {
     this.NameProduct   = nameProduct;
     this.Amount        = output.Amount;
     this.ProductID     = output.ProductID;
     this.PromotionID   = output.PromotionID;
     this.PriceProduct  = output.PriceProduct;
     this.PromotionName = promotionName;
     this.SaleOff       = saleOff;
 }
        public async Task <ActionResult <BillSaleDetail> > PostBillSaleDetail(BillSaleDetail billSaleDetail)
        {
            _context.BillSaleDetail.Add(billSaleDetail);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (BillSaleDetailExists(billSaleDetail.Id))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtAction("GetBillSaleDetail", new { id = billSaleDetail.Id }, billSaleDetail));
        }
Exemplo n.º 4
0
        public ContentResult ApproveOrder(ApproveOrderInput input)
        {
            try
            {
                UnitOfWork unitOfWork = new UnitOfWork(new Entity.QLBHDienThoaiEntities());

                //===========check CartID has exist in  bill Of Sale ======================

                var cartExist = unitOfWork.BillOfSale.Query(x => x.CartID == input.OrderId).Any();
                if (cartExist)
                {
                    return(Content(Data.ToJson(new ResponseData("", false, "", "Đã tồn tại"))));
                }

                //=========== Begin Process ======================

                //Tạo 1 Expression mục đích là Include thêm thông tin CartDetails,Customer vào Cart
                Expression <Func <Cart, object> >[] includes = new Expression <Func <Cart, object> > [1];

                includes[0] = x => x.Customer;

                //lấy thông tin cart để approve
                var cart = unitOfWork.Cart
                           .Include(includes)
                           .FirstOrDefault(x => x.CartID == input.OrderId);



                if (cart != null)
                {
                    //===========Add billOf Sale======================

                    var billOfSale = new BillOfSale
                    {
                        CartID             = cart.CartID,
                        BuyDate            = DateTime.Now,
                        EmployeeID         = input.EmployeeId,
                        EmployeeDeliveryID = input.EmployeeDeliveryId,
                        Status             = StatusBillKey.InProcess,
                        TotalPrice         = cart.TotalPrice
                    };
                    unitOfWork.BillOfSale.Add(billOfSale);
                    unitOfWork.Complete();

                    //===========Add detail======================

                    var cartDetails = unitOfWork.CartDetail
                                      .Query(x => x.CartID == cart.CartID);

                    List <BillSaleDetail> billSaleDetails = new List <BillSaleDetail>();
                    // Lấy danh sách cart detail qua billDetail
                    foreach (var item in cartDetails)
                    {
                        BillSaleDetail billSaleDetail = new BillSaleDetail
                        {
                            BillID       = billOfSale.BillID,
                            ProductID    = item.ProductID,
                            PromotionID  = item.PromotionID,
                            Amount       = item.Amount,
                            PriceProduct = item.PriceProduct
                        };
                        billSaleDetails.Add(billSaleDetail);
                    }
                    unitOfWork.BillSaleDetail.AddRange(billSaleDetails);
                    unitOfWork.Complete();

                    //=========== Change status Cart ======================

                    var cartData = unitOfWork.Cart.Get(input.OrderId);
                    cartData.Status = StatusCartKey.Success;
                    unitOfWork.Cart.Update(cartData);
                    unitOfWork.Complete();
                }
                return(Content(Data.ToJson(new ResponseData("", true, "", "Thành công"))));
            }
            catch (Exception e)
            {
                return(Content(Data.ToJson(new ResponseData("", false, e.Message, "Không Thành công"))));
            }
        }