// POST api/PurchaseOrder public HttpResponseMessage PostPurchaseOrder(PurchaseOrder purchaseorder) { if (ModelState.IsValid) { string CustomCode = "PO-" + DateTime.Now.ToString("yyyyMMdd"); int? MaxCode = Convert.ToInt32((db.PurchaseOrders.Where(r => r.PurchaseOrderCode.StartsWith(CustomCode)).Select(r => r.PurchaseOrderCode.Substring(CustomCode.Length, 4)).ToList()).Max()); string POCode = CustomCode + ((MaxCode + 1).ToString()).PadLeft(4, '0'); purchaseorder.PurchaseOrderCode = POCode; purchaseorder.InsertBy = loginUser.UserID; db.PurchaseOrders.Add(purchaseorder); db.SaveChanges(); HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, purchaseorder); response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = purchaseorder.PurchaseOrderID })); return response; } else { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } }
// PUT api/PurchaseOrder/5 public HttpResponseMessage PutPurchaseOrder(long id, PurchaseOrder purchaseorder) { if (!ModelState.IsValid) { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } if (id != purchaseorder.PurchaseOrderID) { return Request.CreateResponse(HttpStatusCode.BadRequest); } purchaseorder.Collaborator = null; purchaseorder.ProcesStatus = null; purchaseorder.ProjectSetup = null; purchaseorder.UpdateBy = loginUser.UserID; db.Entry(purchaseorder).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException ex) { return Request.CreateErrorResponse(HttpStatusCode.NotFound, ex); } return Request.CreateResponse(HttpStatusCode.OK); }