示例#1
0
        public async Task <IActionResult> Put(Guid id, [FromBody] PurchaseOrderForEditDto dto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != dto.ID)
            {
                return(BadRequest());
            }
            PurchaseOrder order = _context.PurchaseOrders.Find(dto.ID);

            if (order == null)
            {
                return(BadRequest());
            }
            _context.Entry(order).CurrentValues.SetValues(dto);
            var items = new List <PurchaseOrderItem>();

            foreach (var item in dto.Items)
            {
                items.Add(new PurchaseOrderItem
                {
                    ID             = item.ID,
                    Price          = item.Price,
                    Quantity       = item.Quantity,
                    Amount         = item.Price * item.Quantity,
                    ProductSkuInfo = new Domain.ProductMgr.ProductSkuInfo {
                        SkuID = item.SKUID
                    }
                });
            }
            order.UpdateItem(items);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PurchaseOrderExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
示例#2
0
        public async Task <IActionResult> Post([FromBody] PurchaseOrderForEditDto dto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            PurchaseOrder order = PurchaseOrder.Create(dto.SupplierID, dto.Creater);

            _context.PurchaseOrders.Add(order);
            await _context.SaveChangesAsync();

            return(Ok(order));
        }
示例#3
0
        // GET: api/PurchaseOrders/5

        public async Task <ActionResult> Get(Guid id)
        {
            PurchaseOrder purchaseOrder = await _context.PurchaseOrders.FindAsync(id);

            if (purchaseOrder == null)
            {
                return(NotFound());
            }
            PurchaseOrderForEditDto purchaseOrderEditModel = new PurchaseOrderForEditDto
            {
                ID       = purchaseOrder.ID,
                Supplier = purchaseOrder.Supplier.Name,
                Items    = purchaseOrder.Items.Select(p => new PurchaseOrderItemForEditDto {
                    ID = p.ID, SKUID = p.ProductSkuInfo.SkuID, Price = p.Price, Amount = p.Amount, Quantity = p.Quantity
                })
            };

            return(Ok(purchaseOrderEditModel));
        }