Exemplo n.º 1
0
        public async Task <ActionResult <OrderingDetail> > PostOrderingDetail(OrderingDetail orderingDetail)
        {
            _context.OrderingDetail.Add(orderingDetail);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetOrderingDetail", new { id = orderingDetail.Id }, orderingDetail));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> PutOrderingDetail(int id, OrderingDetail orderingDetail)
        {
            if (id != orderingDetail.Id)
            {
                return(BadRequest());
            }

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

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

            return(NoContent());
        }
Exemplo n.º 3
0
 public Guid AddOrderingDetail(AddOrderingDetailCommand command)
 {
   string orderingDetailCode = _keyGenerationReportService.GetCode(KeyTypeObjects.OrderDetail).CodeNew;
   var orderingDetail = new OrderingDetail()
   {
     Brand = command.Brand,
     Color = command.Color,
     Link = command.Link,
     LinkUrl = command.LinkUrl,
     Name = command.Name,
     Note = command.Note,
     OrderingDetailId = Guid.NewGuid(),
     Price = command.Price,
     ProductCode = command.ProductCode,
     Quantity = command.Quantity,
     Size = command.Size,
     OrderingDetailCode = orderingDetailCode,
     OrderingId = command.OrderingId
   };
   _orderingDetailService.Insert(orderingDetail);
   _unitOfWork.SaveChanges();
   return orderingDetail.OrderingDetailId;
 }
        public async Task <ActionResult <Ordering> > addToCart(DoOrderModel doOrderModel)
        {
            String username        = User.Identity.Name;
            String shopUsername    = (await _context.Product.FirstOrDefaultAsync(p => p.Id == doOrderModel.productID)).ShopUsername;
            var    currentOrdering = await _context.Ordering.Include(o => o.OrderingDetail).ThenInclude(od => od.Product).FirstOrDefaultAsync(o => o.Username.Equals(username) && o.ShopUsername.Equals(shopUsername) && o.Status == 0);

            if (currentOrdering != null)
            {
                //get ordering detail via ordering id && product id
                var currentOrderingDetail = await _context.OrderingDetail.Include(od => od.Product).FirstOrDefaultAsync(od => od.OrderingId == currentOrdering.Id && od.ProductId == doOrderModel.productID);

                if (currentOrderingDetail != null)
                {
                    currentOrderingDetail.Count += doOrderModel.count;
                    if (currentOrderingDetail.Count < 0)
                    {
                        currentOrderingDetail.Count = 0;
                    }
                    _context.OrderingDetail.Update(currentOrderingDetail);
                    await _context.SaveChangesAsync();
                }
                else
                {
                    OrderingDetail detailTemp = new OrderingDetail();
                    detailTemp.OrderingId = currentOrdering.Id;
                    detailTemp.ProductId  = doOrderModel.productID;
                    detailTemp.Product    = await _context.Product.Include(p => p.ProductImage).FirstOrDefaultAsync(p => p.Id == doOrderModel.productID);

                    detailTemp.Count = doOrderModel.count;
                    if (detailTemp.Count < 0)
                    {
                        detailTemp.Count = 0;
                    }
                    _context.OrderingDetail.Add(detailTemp);
                    await _context.SaveChangesAsync();
                }
                return(Ok(currentOrdering));
            }
            else
            {
                //ADD ORDER
                Ordering orderingTemp = new Ordering();
                orderingTemp.Username     = username;
                orderingTemp.ShopUsername = shopUsername;
                _context.Ordering.Add(orderingTemp);
                await _context.SaveChangesAsync();

                //ADD ORDER  DETAIL
                OrderingDetail detailTemp = new OrderingDetail();
                detailTemp.OrderingId = orderingTemp.Id;
                detailTemp.ProductId  = doOrderModel.productID;
                detailTemp.Product    = await _context.Product.FirstOrDefaultAsync(p => p.Id == doOrderModel.productID);

                detailTemp.Count = doOrderModel.count;
                if (detailTemp.Count < 0)
                {
                    detailTemp.Count = 0;
                }
                _context.OrderingDetail.Add(detailTemp);

                await _context.SaveChangesAsync();

                orderingTemp = await _context.Ordering.Include(o => o.OrderingDetail).ThenInclude(od => od.Product).FirstOrDefaultAsync(o => o.Id == orderingTemp.Id);


                return(Ok(orderingTemp));
            }



            //Ordering orderingTemp = new Ordering();
            //orderingTemp.Username = username;


            //_context.Ordering.Add(ordering);
            //await _context.SaveChangesAsync();

            //return CreatedAtAction("GetOrdering", new { id = ordering.Id }, ordering);
        }