示例#1
0
        public async Task <IActionResult> PutInvoice(int id, Invoice invoice)
        {
            if (id != invoice.Id)
            {
                return(BadRequest());
            }

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

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

            return(NoContent());
        }
        public async Task <IActionResult> UpdateCart(CartPostIdModel cart)
        {
            Cart cart1 = await _context.Carts.FindAsync(cart.Id);

            if (cart1 is null)
            {
                return(Ok(new { error_message = "Gio hang khong ton tai" }));
            }
            if (cart.Amount <= 0)
            {
                return(Ok(new { data = await _cartServices.DeleteCartByCartId(cart1.Id), success = true }));
            }
            Book book = await _context.Book.FindAsync(cart1.BookId);

            if (cart.Amount >= book.Quantity)
            {
                return(Ok(new { error_message = "So luong sach con lai trong kho chi con " + book.Quantity }));
            }
            cart1.Amount   = cart.Amount;
            cart1.SubTotal = book.Price * cart1.Amount;
            _context.Entry(cart1).State = EntityState.Modified;;
            _ = await _context.SaveChangesAsync();

            List <Cart> carts = await _context.Carts
                                .Where(u => u.UserId == cart1.UserId)
                                .Include(u => u.User)
                                .Include(b => b.Book)
                                .ToListAsync();

            return(Ok(new { data = carts, success = true }));
        }