public HttpResponseMessage SavePurchaseRequest(Entities.TrnPurchaseRequest objPurchaseRequest, String id) { try { var currentUser = from d in db.MstUsers where d.UserId == User.Identity.GetUserId() select d; if (currentUser.Any()) { var currentUserId = currentUser.FirstOrDefault().Id; var purchaseRequest = from d in db.TrnPurchaseRequests where d.Id == Convert.ToInt32(id) select d; if (purchaseRequest.Any()) { if (!purchaseRequest.FirstOrDefault().IsLocked) { String oldObject = auditTrail.GetObjectString(purchaseRequest.FirstOrDefault()); var savePurchaseRequest = purchaseRequest.FirstOrDefault(); savePurchaseRequest.PRDate = Convert.ToDateTime(objPurchaseRequest.PRDate); savePurchaseRequest.SupplierId = objPurchaseRequest.SupplierId; savePurchaseRequest.TermId = objPurchaseRequest.TermId; savePurchaseRequest.ManualPRNumber = objPurchaseRequest.ManualPRNumber; savePurchaseRequest.DateNeeded = Convert.ToDateTime(objPurchaseRequest.DateNeeded); savePurchaseRequest.Remarks = objPurchaseRequest.Remarks; savePurchaseRequest.IsClose = objPurchaseRequest.IsClose; savePurchaseRequest.RequestedById = objPurchaseRequest.RequestedById; savePurchaseRequest.CheckedById = objPurchaseRequest.CheckedById; savePurchaseRequest.ApprovedById = objPurchaseRequest.ApprovedById; savePurchaseRequest.Status = objPurchaseRequest.Status; savePurchaseRequest.UpdatedById = currentUserId; savePurchaseRequest.UpdatedDateTime = DateTime.Now; db.SubmitChanges(); String newObject = auditTrail.GetObjectString(purchaseRequest.FirstOrDefault()); auditTrail.InsertAuditTrail(currentUser.FirstOrDefault().Id, GetType().Name, MethodBase.GetCurrentMethod().Name, oldObject, newObject); return(Request.CreateResponse(HttpStatusCode.OK)); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Saving Error. These purchase request details are already locked.")); } } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "Data not found. These purchase request details are not found in the server.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Theres no current user logged in.")); } } catch (Exception e) { Debug.WriteLine(e); return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server.")); } }
public HttpResponseMessage LockPurchaseRequest(Entities.TrnPurchaseRequest objPurchaseRequest, String id) { try { var currentUser = from d in db.MstUsers where d.UserId == User.Identity.GetUserId() select d; if (currentUser.Any()) { var currentUserId = currentUser.FirstOrDefault().Id; var userForms = from d in db.MstUserForms where d.UserId == currentUserId && d.SysForm.FormName.Equals("PurchaseRequestDetail") select d; if (userForms.Any()) { if (userForms.FirstOrDefault().CanLock) { var purchaseRequest = from d in db.TrnPurchaseRequests where d.Id == Convert.ToInt32(id) select d; if (purchaseRequest.Any()) { if (!purchaseRequest.FirstOrDefault().IsLocked) { var lockPurchaseRequest = purchaseRequest.FirstOrDefault(); lockPurchaseRequest.PRDate = Convert.ToDateTime(objPurchaseRequest.PRDate); lockPurchaseRequest.SupplierId = objPurchaseRequest.SupplierId; lockPurchaseRequest.TermId = objPurchaseRequest.TermId; lockPurchaseRequest.ManualPRNumber = objPurchaseRequest.ManualPRNumber; lockPurchaseRequest.DateNeeded = Convert.ToDateTime(objPurchaseRequest.DateNeeded); lockPurchaseRequest.Remarks = objPurchaseRequest.Remarks; lockPurchaseRequest.IsClose = objPurchaseRequest.IsClose; lockPurchaseRequest.RequestedById = objPurchaseRequest.RequestedById; lockPurchaseRequest.CheckedById = objPurchaseRequest.CheckedById; lockPurchaseRequest.ApprovedById = objPurchaseRequest.ApprovedById; lockPurchaseRequest.IsLocked = true; lockPurchaseRequest.UpdatedById = currentUserId; lockPurchaseRequest.UpdatedDateTime = DateTime.Now; db.SubmitChanges(); if (purchaseRequest.FirstOrDefault().TrnPurchaseRequestItems.Any()) { foreach (var purchaseRequestItem in purchaseRequest.FirstOrDefault().TrnPurchaseRequestItems.ToList()) { var item = from d in db.MstArticles where d.Id == purchaseRequestItem.ItemId select d; if (item.Any()) { var updateItem = item.FirstOrDefault(); updateItem.Cost = purchaseRequestItem.Cost; } } db.SubmitChanges(); } return(Request.CreateResponse(HttpStatusCode.OK)); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Locking Error. These purchase request details are already locked.")); } } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "Data not found. These purchase request details are not found in the server.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no rights to lock purchase request.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no access for this purchase request page.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Theres no current user logged in.")); } } catch (Exception e) { Debug.WriteLine(e); return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server.")); } }