public async Task <IHttpActionResult> PostPurchaseOrder(PurchaseOrder purchaseOrder) { if (purchaseOrder.OrderDate == null) { purchaseOrder.OrderDate = DateTime.Now; } purchaseOrder.EmpId = db.Employees.FirstOrDefault().EmpId; //if (!ModelState.IsValid) //{ // return BadRequest(ModelState); //} //if (purchaseOrder.OrderId != null && purchaseOrder.OrderType !=null) //{ // PutPurchaseOrder(purchaseOrder.OrderId, purchaseOrder); //} //else //{ var temp = db.PurchaseOrders; if (temp.Count() < 1) { purchaseOrder.Id = 1; purchaseOrder.OrderId = 1; } else { purchaseOrder.Id = temp.Max(x => x.Id) + 1; purchaseOrder.OrderId = temp.Max(s => s.OrderId) + 1; } db.PurchaseOrders.Add(purchaseOrder); foreach (var item in purchaseOrder.PurchaseOrdersDetails) { PurchaseOrdersDetail pod = new PurchaseOrdersDetail(); pod = item; pod.OrderId = purchaseOrder.OrderId; pod.Id = purchaseOrder.Id; pod.QtyReq = pod.CaseWight - pod.WightEmpty; db.Entry(pod).State = EntityState.Added; } await db.SaveChangesAsync(); //} return(CreatedAtRoute("DefaultApi", new { id = purchaseOrder.OrderId }, purchaseOrder)); }
public async Task <IHttpActionResult> PutPurchaseOrder(int id, PurchaseOrder purchaseOrder) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != purchaseOrder.OrderId) { return(BadRequest()); } db.Entry(purchaseOrder).State = EntityState.Modified; foreach (var item in purchaseOrder.PurchaseOrdersDetails) { PurchaseOrdersDetail pod = new PurchaseOrdersDetail(); pod = item; pod.OrderType = purchaseOrder.OrderType; pod.OrderId = purchaseOrder.OrderId; pod.Id = purchaseOrder.Id; db.Entry(pod).State = EntityState.Modified; } try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PurchaseOrderExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }