public HttpResponseMessage putDisbursement(String id, Entities.TrnDisbursement disbursement) { try { var disbursements = from d in db.TrnDisbursements where d.Id == Convert.ToInt32(id) select d; if (disbursements.Any()) { var updateDisbursement = disbursements.FirstOrDefault(); updateDisbursement.PeriodId = disbursement.PeriodId; updateDisbursement.DisbursementDate = disbursement.DisbursementDate; updateDisbursement.DisbursementNumber = disbursement.DisbursementNumber; updateDisbursement.DisbursementType = disbursement.DisbursementType; updateDisbursement.Amount = disbursement.Amount; updateDisbursement.PayTypeId = disbursement.PayTypeId; updateDisbursement.TerminalId = disbursement.TerminalId; updateDisbursement.Remarks = disbursement.Remarks; updateDisbursement.IsReturn = disbursement.IsReturn; updateDisbursement.StockInId = disbursement.StockInId; updateDisbursement.PreparedBy = disbursement.PreparedBy; updateDisbursement.CheckedBy = disbursement.CheckedBy; updateDisbursement.CheckedBy = disbursement.CheckedBy; updateDisbursement.ApprovedBy = disbursement.ApprovedBy; updateDisbursement.IsLocked = true; updateDisbursement.EntryUserId = UserId(); updateDisbursement.EntryDateTime = DateTime.Today; updateDisbursement.UpdateUserId = UserId(); updateDisbursement.UpdateDateTime = DateTime.Today; updateDisbursement.Amount1000 = disbursement.Amount1000; updateDisbursement.Amount500 = disbursement.Amount500; updateDisbursement.Amount200 = disbursement.Amount200; updateDisbursement.Amount100 = disbursement.Amount100; updateDisbursement.Amount50 = disbursement.Amount50; updateDisbursement.Amount20 = disbursement.Amount20; updateDisbursement.Amount10 = disbursement.Amount10; updateDisbursement.Amount5 = disbursement.Amount5; updateDisbursement.Amount1 = disbursement.Amount1; updateDisbursement.Amount025 = disbursement.Amount025; updateDisbursement.Amount010 = disbursement.Amount010; updateDisbursement.Amount005 = disbursement.Amount005; updateDisbursement.Amount001 = disbursement.Amount001; updateDisbursement.Payee = disbursement.Payee; db.SubmitChanges(); return(Request.CreateResponse(HttpStatusCode.OK)); } else { return(Request.CreateResponse(HttpStatusCode.NotFound)); } } catch (Exception e) { // Debug.WriteLine(e); return(Request.CreateResponse(HttpStatusCode.BadRequest)); } }
public HttpResponseMessage LockDisbursement(Entities.TrnDisbursement objDisbursement, 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("DisbursementDetail") select d; if (userForms.Any()) { if (userForms.FirstOrDefault().CanLock) { var disbursement = from d in db.TrnDisbursements where d.Id == Convert.ToInt32(id) select d; if (disbursement.Any()) { int countInvalidRR = 0; var invalidRRs = from d in db.TrnDisbursementLines where d.CVId == disbursement.FirstOrDefault().Id && d.TrnReceivingReceipt.IsLocked == false && d.TrnReceivingReceipt.IsCancelled == true select d; if (invalidRRs.Any()) { countInvalidRR = invalidRRs.Count(); } if (!disbursement.FirstOrDefault().IsLocked&& countInvalidRR == 0) { String oldObject = auditTrail.GetObjectString(disbursement.FirstOrDefault()); Decimal amount = 0; var disbursementLines = from d in db.TrnDisbursementLines where d.CVId == Convert.ToInt32(id) select d; if (disbursementLines.Any()) { amount = disbursementLines.Sum(d => d.Amount); } var lockDisbursement = disbursement.FirstOrDefault(); lockDisbursement.CVDate = Convert.ToDateTime(objDisbursement.CVDate); lockDisbursement.SupplierId = objDisbursement.SupplierId; lockDisbursement.ManualCVNumber = objDisbursement.ManualCVNumber; lockDisbursement.Payee = objDisbursement.Payee; lockDisbursement.PayTypeId = objDisbursement.PayTypeId; lockDisbursement.Particulars = objDisbursement.Particulars; lockDisbursement.BankId = objDisbursement.BankId; lockDisbursement.CheckNumber = objDisbursement.CheckNumber; lockDisbursement.CheckDate = Convert.ToDateTime(objDisbursement.CheckDate); lockDisbursement.Amount = amount; lockDisbursement.IsCrossCheck = objDisbursement.IsCrossCheck; lockDisbursement.CheckedById = objDisbursement.CheckedById; lockDisbursement.ApprovedById = objDisbursement.ApprovedById; lockDisbursement.Status = objDisbursement.Status; lockDisbursement.IsClear = objDisbursement.IsClear; lockDisbursement.IsLocked = true; lockDisbursement.UpdatedById = currentUserId; lockDisbursement.UpdatedDateTime = DateTime.Now; db.SubmitChanges(); if (lockDisbursement.IsLocked) { if (disbursementLines.Any()) { foreach (var disbursementLine in disbursementLines) { if (disbursementLine.RRId != null) { accountsPayable.UpdateAccountsPayable(Convert.ToInt32(disbursementLine.RRId)); } } } journal.InsertCashVoucherJournal(Convert.ToInt32(id)); } String newObject = auditTrail.GetObjectString(disbursement.FirstOrDefault()); auditTrail.InsertAuditTrail(currentUser.FirstOrDefault().Id, GetType().Name, MethodBase.GetCurrentMethod().Name, oldObject, newObject); return(Request.CreateResponse(HttpStatusCode.OK)); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Locking Error. These disbursement details are already locked or RR is invalid.")); } } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "Data not found. These disbursement details are not found in the server.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no rights to lock disbursement.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no access for this disbursement 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.")); } }
public HttpResponseMessage SaveDisbursement(Entities.TrnDisbursement objDisbursement, 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 disbursement = from d in db.TrnDisbursements where d.Id == Convert.ToInt32(id) select d; if (disbursement.Any()) { if (!disbursement.FirstOrDefault().IsLocked) { String oldObject = auditTrail.GetObjectString(disbursement.FirstOrDefault()); Decimal amount = 0; var disbursementLines = from d in db.TrnDisbursementLines where d.CVId == Convert.ToInt32(id) select d; if (disbursementLines.Any()) { amount = disbursementLines.Sum(d => d.Amount); } var saveDisbursement = disbursement.FirstOrDefault(); saveDisbursement.CVDate = Convert.ToDateTime(objDisbursement.CVDate); saveDisbursement.SupplierId = objDisbursement.SupplierId; saveDisbursement.ManualCVNumber = objDisbursement.ManualCVNumber; saveDisbursement.Payee = objDisbursement.Payee; saveDisbursement.PayTypeId = objDisbursement.PayTypeId; saveDisbursement.Particulars = objDisbursement.Particulars; saveDisbursement.BankId = objDisbursement.BankId; saveDisbursement.CheckNumber = objDisbursement.CheckNumber; saveDisbursement.CheckDate = Convert.ToDateTime(objDisbursement.CheckDate); saveDisbursement.Amount = amount; saveDisbursement.IsCrossCheck = objDisbursement.IsCrossCheck; saveDisbursement.CheckedById = objDisbursement.CheckedById; saveDisbursement.ApprovedById = objDisbursement.ApprovedById; saveDisbursement.Status = objDisbursement.Status; saveDisbursement.IsClear = objDisbursement.IsClear; saveDisbursement.UpdatedById = currentUserId; saveDisbursement.UpdatedDateTime = DateTime.Now; db.SubmitChanges(); String newObject = auditTrail.GetObjectString(disbursement.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 disbursement details are already locked.")); } } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "Data not found. These disbursement 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 LockDisbursement(Entities.TrnDisbursement objDisbursement, 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("DisbursementDetail") select d; if (userForms.Any()) { if (userForms.FirstOrDefault().CanLock) { var disbursement = from d in db.TrnDisbursements where d.Id == Convert.ToInt32(id) select d; if (disbursement.Any()) { if (!disbursement.FirstOrDefault().IsLocked) { var lockDisbursement = disbursement.FirstOrDefault(); lockDisbursement.CVDate = Convert.ToDateTime(objDisbursement.CVDate); lockDisbursement.SupplierId = objDisbursement.SupplierId; lockDisbursement.ManualCVNumber = objDisbursement.ManualCVNumber; lockDisbursement.Payee = objDisbursement.Payee; lockDisbursement.PayTypeId = objDisbursement.PayTypeId; lockDisbursement.Particulars = objDisbursement.Particulars; lockDisbursement.BankId = objDisbursement.BankId; lockDisbursement.CheckNumber = objDisbursement.CheckNumber; lockDisbursement.CheckDate = Convert.ToDateTime(objDisbursement.CheckDate); lockDisbursement.Amount = GetDisbursementAmount(Convert.ToInt32(id)); lockDisbursement.IsCrossCheck = objDisbursement.IsCrossCheck; lockDisbursement.CheckedById = objDisbursement.CheckedById; lockDisbursement.ApprovedById = objDisbursement.ApprovedById; lockDisbursement.IsClear = objDisbursement.IsClear; lockDisbursement.IsLocked = true; lockDisbursement.UpdatedById = currentUserId; lockDisbursement.UpdatedDateTime = DateTime.Now; db.SubmitChanges(); // ============================ // Journal and Accounts Payable // ============================ Business.Journal journal = new Business.Journal(); if (lockDisbursement.IsLocked) { journal.InsertCashVoucherJournal(Convert.ToInt32(id)); UpdateAccountsPayable(Convert.ToInt32(id)); } return(Request.CreateResponse(HttpStatusCode.OK)); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Locking Error. These disbursement details are already locked.")); } } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "Data not found. These disbursement details are not found in the server.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no rights to lock disbursement.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no access for this disbursement 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.")); } }