public Int32 insertDisbursement(Models.TrnDisbursement disbursement) { try { var userId = (from d in db.MstUsers where d.UserId == User.Identity.GetUserId() select d.Id).SingleOrDefault(); var lastCVBNumber = from d in db.TrnDisbursements.OrderByDescending(d => d.Id) where d.BranchId == currentBranchId() select d; var CVNumberResult = "0000000001"; if (lastCVBNumber.Any()) { var CVNumber = Convert.ToInt32(lastCVBNumber.FirstOrDefault().CVNumber) + 0000000001; CVNumberResult = zeroFill(CVNumber, 10); } Data.TrnDisbursement newDisbursement = new Data.TrnDisbursement(); newDisbursement.BranchId = currentBranchId(); newDisbursement.CVNumber = CVNumberResult; newDisbursement.CVDate = DateTime.Today; newDisbursement.SupplierId = (from d in db.MstArticles where d.ArticleTypeId == 3 select d.Id).FirstOrDefault(); newDisbursement.Payee = (from d in db.MstArticles where d.ArticleTypeId == 3 select d.Article).FirstOrDefault(); newDisbursement.PayTypeId = (from d in db.MstPayTypes select d.Id).FirstOrDefault(); newDisbursement.BankId = (from d in db.MstArticles where d.ArticleTypeId == 5 select d.Id).FirstOrDefault(); newDisbursement.ManualCVNumber = "NA"; newDisbursement.Particulars = "NA"; newDisbursement.CheckNumber = "NA"; newDisbursement.CheckDate = DateTime.Today; newDisbursement.Amount = 0; newDisbursement.IsCrossCheck = false; newDisbursement.IsClear = false; newDisbursement.PreparedById = userId; newDisbursement.CheckedById = userId; newDisbursement.ApprovedById = userId; newDisbursement.IsLocked = false; newDisbursement.CreatedById = userId; newDisbursement.CreatedDateTime = DateTime.Now; newDisbursement.UpdatedById = userId; newDisbursement.UpdatedDateTime = DateTime.Now; db.TrnDisbursements.InsertOnSubmit(newDisbursement); db.SubmitChanges(); return(newDisbursement.Id); } catch { return(0); } }
public Int32 postDisbursement() { try { Data.TrnDisbursement newDisbursement = new Data.TrnDisbursement(); newDisbursement.PeriodId = PeriodId(); newDisbursement.DisbursementDate = DateTime.Today; newDisbursement.DisbursementNumber = "n/a"; newDisbursement.DisbursementType = "n/a"; newDisbursement.Amount = 0; newDisbursement.PayTypeId = PayTypeId(); newDisbursement.TerminalId = TerminalId(); newDisbursement.Remarks = "n/a"; newDisbursement.IsReturn = false; newDisbursement.StockInId = StockInId(); newDisbursement.PreparedBy = UserId(); newDisbursement.CheckedBy = UserId(); newDisbursement.CheckedBy = UserId(); newDisbursement.ApprovedBy = UserId(); newDisbursement.IsLocked = false; newDisbursement.EntryUserId = UserId(); newDisbursement.EntryDateTime = DateTime.Today; newDisbursement.UpdateUserId = UserId(); newDisbursement.UpdateDateTime = DateTime.Today; newDisbursement.Amount1000 = 0; newDisbursement.Amount500 = 0; newDisbursement.Amount200 = 0; newDisbursement.Amount100 = 0; newDisbursement.Amount50 = 0; newDisbursement.Amount20 = 0; newDisbursement.Amount10 = 0; newDisbursement.Amount5 = 0; newDisbursement.Amount1 = 0; newDisbursement.Amount025 = 0; newDisbursement.Amount010 = 0; newDisbursement.Amount005 = 0; newDisbursement.Amount001 = 0; newDisbursement.Payee = "n/a"; db.TrnDisbursements.InsertOnSubmit(newDisbursement); db.SubmitChanges(); return(newDisbursement.Id); } catch (Exception e) { return(0); } }
public HttpResponseMessage AddFolderMonitoringDisbursement(List <Entities.FolderMonitoringTrnDisbursement> folderMonitoringTrnDisbursementObjects) { try { if (folderMonitoringTrnDisbursementObjects.Any()) { foreach (var folderMonitoringTrnDisbursementObject in folderMonitoringTrnDisbursementObjects) { Boolean isBranchExist = false, isSupplierExist = false, isPayTypeExist = false, isBankExist = false, isUserExist = false, isAccountExist = false, isArticleExist = false, isReceivingReceiptExist = false; IQueryable <Data.TrnReceivingReceipt> receivingReceipt = null; var branch = from d in db.MstBranches where d.BranchCode.Equals(folderMonitoringTrnDisbursementObject.BranchCode) select d; if (branch.Any()) { isBranchExist = true; if (!folderMonitoringTrnDisbursementObject.RRNumber.Equals("") || !folderMonitoringTrnDisbursementObject.RRNumber.Equals("NA")) { receivingReceipt = from d in db.TrnReceivingReceipts where d.BranchId == branch.FirstOrDefault().Id&& d.RRNumber.Equals(folderMonitoringTrnDisbursementObject.RRNumber) && d.IsLocked == true select d; if (receivingReceipt.Any()) { isReceivingReceiptExist = true; } } } var supplier = from d in db.MstArticles where d.ArticleTypeId == 3 && d.ManualArticleCode.Equals(folderMonitoringTrnDisbursementObject.SupplierCode) && d.IsLocked == true select d; if (supplier.Any()) { isSupplierExist = true; } var payType = from d in db.MstPayTypes where d.PayType.Equals(folderMonitoringTrnDisbursementObject.PayType) select d; if (payType.Any()) { isPayTypeExist = true; } var bank = from d in db.MstArticles where d.ArticleTypeId == 5 && d.ManualArticleCode.Equals(folderMonitoringTrnDisbursementObject.BankCode) select d; if (bank.Any()) { isBankExist = true; } var user = from d in db.MstUsers where d.UserName.Equals(folderMonitoringTrnDisbursementObject.UserCode) select d; if (user.Any()) { isUserExist = true; } List <easyfis.Entities.MstArticle> listArticles = new List <easyfis.Entities.MstArticle>(); var account = from d in db.MstAccounts where d.AccountCode.Equals(folderMonitoringTrnDisbursementObject.AccountCode) select d; if (account.Any()) { isAccountExist = true; var accountArticleTypes = from d in db.MstAccountArticleTypes where d.AccountId == Convert.ToInt32(account.FirstOrDefault().Id) select d; if (accountArticleTypes.Any()) { foreach (var accountArticleType in accountArticleTypes) { var articles = from d in db.MstArticles where d.ArticleTypeId == accountArticleType.ArticleTypeId && d.IsLocked == true select d; if (articles.Any()) { foreach (var articleObject in articles) { listArticles.Add(new easyfis.Entities.MstArticle() { Id = articleObject.Id, ManualArticleCode = articleObject.ManualArticleCode, Article = articleObject.Article }); } } } } } var article = from d in listArticles where d.ManualArticleCode.Equals(folderMonitoringTrnDisbursementObject.ArticleCode) select d; if (article.Any()) { isArticleExist = true; } if (isBranchExist && isSupplierExist && isPayTypeExist && isBankExist && isUserExist && isAccountExist && isArticleExist) { Int32 CVId = 0; var currentDisbursement = from d in db.TrnDisbursements where d.BranchId == branch.FirstOrDefault().Id&& d.ManualCVNumber.Equals(folderMonitoringTrnDisbursementObject.ManualCVNumber) && d.IsLocked == true select d; if (currentDisbursement.Any()) { CVId = currentDisbursement.FirstOrDefault().Id; var unlockDisbursement = currentDisbursement.FirstOrDefault(); unlockDisbursement.IsLocked = false; unlockDisbursement.UpdatedById = user.FirstOrDefault().Id; unlockDisbursement.UpdatedDateTime = Convert.ToDateTime(folderMonitoringTrnDisbursementObject.CreatedDateTime); db.SubmitChanges(); journal.DeleteCashVoucherJournal(CVId); } else { var defaultCVNumber = "0000000001"; var lastDisbursement = from d in db.TrnDisbursements.OrderByDescending(d => d.Id) where d.BranchId == branch.FirstOrDefault().Id select d; if (lastDisbursement.Any()) { var CVNumber = Convert.ToInt32(lastDisbursement.FirstOrDefault().CVNumber) + 0000000001; defaultCVNumber = FillLeadingZeroes(CVNumber, 10); } Data.TrnDisbursement newDisbursement = new Data.TrnDisbursement { BranchId = branch.FirstOrDefault().Id, CVNumber = defaultCVNumber, CVDate = Convert.ToDateTime(folderMonitoringTrnDisbursementObject.CVDate), ManualCVNumber = folderMonitoringTrnDisbursementObject.ManualCVNumber, Payee = folderMonitoringTrnDisbursementObject.Payee, SupplierId = supplier.FirstOrDefault().Id, PayTypeId = payType.FirstOrDefault().Id, Particulars = folderMonitoringTrnDisbursementObject.Remarks, BankId = bank.FirstOrDefault().Id, CheckNumber = folderMonitoringTrnDisbursementObject.CheckNumber, CheckDate = Convert.ToDateTime(folderMonitoringTrnDisbursementObject.CheckDate), Amount = 0, IsCrossCheck = folderMonitoringTrnDisbursementObject.IsCrossCheck, PreparedById = user.FirstOrDefault().Id, CheckedById = user.FirstOrDefault().Id, ApprovedById = user.FirstOrDefault().Id, IsClear = folderMonitoringTrnDisbursementObject.IsClear, Status = null, IsCancelled = false, IsPrinted = false, IsLocked = false, CreatedById = user.FirstOrDefault().Id, CreatedDateTime = Convert.ToDateTime(folderMonitoringTrnDisbursementObject.CreatedDateTime), UpdatedById = user.FirstOrDefault().Id, UpdatedDateTime = Convert.ToDateTime(folderMonitoringTrnDisbursementObject.CreatedDateTime) }; db.TrnDisbursements.InsertOnSubmit(newDisbursement); db.SubmitChanges(); CVId = newDisbursement.Id; } Int32?RRId = null; if (isReceivingReceiptExist) { RRId = receivingReceipt.FirstOrDefault().Id; } Data.TrnDisbursementLine newDisbursementLine = new Data.TrnDisbursementLine { CVId = CVId, BranchId = branch.FirstOrDefault().Id, AccountId = account.FirstOrDefault().Id, ArticleId = article.FirstOrDefault().Id, RRId = RRId, Particulars = folderMonitoringTrnDisbursementObject.Particulars, Amount = folderMonitoringTrnDisbursementObject.Amount }; db.TrnDisbursementLines.InsertOnSubmit(newDisbursementLine); db.SubmitChanges(); var disbursement = from d in db.TrnDisbursements where d.Id == CVId && d.IsLocked == false select d; if (disbursement.Any()) { Decimal amount = 0; var disbursementLines = from d in db.TrnDisbursementLines where d.CVId == CVId select d; if (disbursementLines.Any()) { amount = disbursementLines.Sum(d => d.Amount); } var lockDisbursement = disbursement.FirstOrDefault(); lockDisbursement.Amount = amount; lockDisbursement.IsLocked = true; lockDisbursement.UpdatedById = user.FirstOrDefault().Id; lockDisbursement.UpdatedDateTime = Convert.ToDateTime(folderMonitoringTrnDisbursementObject.CreatedDateTime); db.SubmitChanges(); if (disbursementLines.Any()) { foreach (var disbursementLine in disbursementLines) { if (disbursementLine.RRId != null) { accountsPayable.UpdateAccountsPayable(Convert.ToInt32(disbursementLine.RRId)); } } } journal.InsertCashVoucherJournal(CVId); } } } return(Request.CreateResponse(HttpStatusCode.OK)); } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "No data found.")); } } catch (Exception ex) { Debug.WriteLine(ex); return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server.")); } }
public HttpResponseMessage AddDisbursement() { 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 currentBranchId = currentUser.FirstOrDefault().BranchId; var userForms = from d in db.MstUserForms where d.UserId == currentUserId && d.SysForm.FormName.Equals("DisbursementList") select d; if (userForms.Any()) { if (userForms.FirstOrDefault().CanAdd) { var defaultCVNumber = "0000000001"; var lastDisbursement = from d in db.TrnDisbursements.OrderByDescending(d => d.Id) where d.BranchId == currentBranchId select d; if (lastDisbursement.Any()) { var CVNumber = Convert.ToInt32(lastDisbursement.FirstOrDefault().CVNumber) + 0000000001; defaultCVNumber = FillLeadingZeroes(CVNumber, 10); } var suppliers = from d in db.MstArticles.OrderBy(d => d.Article) where d.ArticleTypeId == 3 && d.IsLocked == true select d; if (suppliers.Any()) { var payTypes = from d in db.MstPayTypes.OrderBy(d => d.PayType) where d.IsLocked == true select d; if (payTypes.Any()) { var banks = from d in db.MstArticles.OrderBy(d => d.Article) where d.ArticleTypeId == 5 && d.IsLocked == true select d; if (banks.Any()) { var users = from d in db.MstUsers.OrderBy(d => d.FullName) where d.IsLocked == true select d; if (users.Any()) { Data.TrnDisbursement newDisbursement = new Data.TrnDisbursement { BranchId = currentBranchId, CVNumber = defaultCVNumber, CVDate = DateTime.Today, ManualCVNumber = "NA", Payee = "NA", SupplierId = suppliers.FirstOrDefault().Id, PayTypeId = payTypes.FirstOrDefault().Id, Particulars = "NA", BankId = banks.FirstOrDefault().Id, CheckNumber = "NA", CheckDate = DateTime.Today, Amount = 0, IsCrossCheck = false, PreparedById = currentUserId, CheckedById = currentUserId, ApprovedById = currentUserId, IsClear = false, Status = null, IsCancelled = false, IsPrinted = false, IsLocked = false, CreatedById = currentUserId, CreatedDateTime = DateTime.Now, UpdatedById = currentUserId, UpdatedDateTime = DateTime.Now }; db.TrnDisbursements.InsertOnSubmit(newDisbursement); db.SubmitChanges(); String newObject = auditTrail.GetObjectString(newDisbursement); auditTrail.InsertAuditTrail(currentUser.FirstOrDefault().Id, GetType().Name, MethodBase.GetCurrentMethod().Name, "NA", newObject); return(Request.CreateResponse(HttpStatusCode.OK, newDisbursement.Id)); } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "No user found. Please setup more users for all transactions.")); } } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "No bank found. Please setup more banks for all transactions.")); } } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "No pay type found. Please setup more pay types for all transactions.")); } } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "No supplier found. Please setup more suppliers for all transactions.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no rights to add 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 AddFolderMonitoringDisbursement(List <Entities.FolderMonitoringTrnDisbursement> folderMonitoringTrnDisbursementObjects) { try { if (folderMonitoringTrnDisbursementObjects.Any()) { String returnMessage = ""; List <Entities.FolderMonitoringTrnDisbursementHeader> newFolderMonitoringTrnDisbursementHeaders = new List <Entities.FolderMonitoringTrnDisbursementHeader>(); List <Entities.FolderMonitoringTrnDisbursementLine> newFolderMonitoringTrnDisbursementLines = new List <Entities.FolderMonitoringTrnDisbursementLine>(); Boolean isDataValid = false; foreach (var folderMonitoringTrnDisbursementObject in folderMonitoringTrnDisbursementObjects) { Boolean isBranchExist = false, isSupplierExist = false, isPayTypeExist = false, isBankExist = false, isUserExist = false, isLineBranchExist = false, isAccountExist = false, isArticleExist = false; var branch = from d in db.MstBranches where d.BranchCode.Equals(folderMonitoringTrnDisbursementObject.BranchCode) select d; if (branch.Any()) { isBranchExist = true; } var supplier = from d in db.MstArticles where d.ArticleTypeId == 3 && d.ManualArticleCode.Equals(folderMonitoringTrnDisbursementObject.SupplierCode) && d.IsLocked == true select d; if (supplier.Any()) { isSupplierExist = true; } var payType = from d in db.MstPayTypes where d.PayType.Equals(folderMonitoringTrnDisbursementObject.PayType) select d; if (payType.Any()) { isPayTypeExist = true; } var bank = from d in db.MstArticles where d.ArticleTypeId == 5 && d.ManualArticleCode.Equals(folderMonitoringTrnDisbursementObject.BankCode) select d; if (bank.Any()) { isBankExist = true; } var user = from d in db.MstUsers where d.UserName.Equals(folderMonitoringTrnDisbursementObject.UserCode) select d; if (user.Any()) { isUserExist = true; } var lineBranch = from d in db.MstBranches where d.BranchCode.Equals(folderMonitoringTrnDisbursementObject.LineBranchCode) select d; if (lineBranch.Any()) { isLineBranchExist = true; } List <easyfis.Entities.MstArticle> listArticles = new List <easyfis.Entities.MstArticle>(); var account = from d in db.MstAccounts where d.AccountCode.Equals(folderMonitoringTrnDisbursementObject.AccountCode) select d; if (account.Any()) { isAccountExist = true; var accountArticleTypes = from d in db.MstAccountArticleTypes where d.AccountId == Convert.ToInt32(account.FirstOrDefault().Id) group d by d.ArticleTypeId into g select g; if (accountArticleTypes.Any()) { foreach (var accountArticleType in accountArticleTypes) { var articles = from d in db.MstArticles where d.ArticleTypeId == accountArticleType.Key && d.IsLocked == true select d; if (articles.Any()) { foreach (var articleObject in articles) { listArticles.Add(new easyfis.Entities.MstArticle() { Id = articleObject.Id, ManualArticleCode = articleObject.ManualArticleCode, Article = articleObject.Article }); } } } } } var article = from d in listArticles where d.ManualArticleCode.Equals(folderMonitoringTrnDisbursementObject.ArticleCode) select d; if (article.Any()) { isArticleExist = true; } if (!isBranchExist) { returnMessage = "Invalid Branch Code: " + folderMonitoringTrnDisbursementObject.BranchCode; isDataValid = false; break; } else if (!isSupplierExist) { returnMessage = "Invalid Supplier Code: " + folderMonitoringTrnDisbursementObject.SupplierCode; isDataValid = false; break; } else if (!isPayTypeExist) { returnMessage = "Invalid Pay Type: " + folderMonitoringTrnDisbursementObject.PayType; isDataValid = false; break; } else if (!isBankExist) { returnMessage = "Invalid Bank Code: " + folderMonitoringTrnDisbursementObject.BankCode; isDataValid = false; break; } else if (!isUserExist) { returnMessage = "Invalid User Code: " + folderMonitoringTrnDisbursementObject.UserCode; isDataValid = false; break; } else if (!isLineBranchExist) { returnMessage = "Invalid Line Branch Code: " + folderMonitoringTrnDisbursementObject.LineBranchCode; isDataValid = false; break; } else if (!isAccountExist) { returnMessage = "Invalid Account Code: " + folderMonitoringTrnDisbursementObject.AccountCode; isDataValid = false; break; } else if (!isArticleExist) { returnMessage = "Invalid Article Code: " + folderMonitoringTrnDisbursementObject.ArticleCode; isDataValid = false; break; } else { var currentDisbursement = from d in db.TrnDisbursements where d.BranchId == branch.FirstOrDefault().Id && d.ManualCVNumber.Equals(folderMonitoringTrnDisbursementObject.ManualCVNumber) select d; if (currentDisbursement.Any()) { returnMessage = "This Manual CV No. " + folderMonitoringTrnDisbursementObject.ManualCVNumber + " is already exist!"; isDataValid = false; break; } else { Int32?RRId = null; if (!folderMonitoringTrnDisbursementObject.ManualRRNumber.Equals("") || !folderMonitoringTrnDisbursementObject.ManualRRNumber.Equals("NA")) { var receivingReceipt = from d in db.TrnReceivingReceipts where d.BranchId == branch.FirstOrDefault().Id && d.ManualRRNumber.Equals(folderMonitoringTrnDisbursementObject.ManualRRNumber) && d.IsLocked == true select d; if (receivingReceipt.Any()) { RRId = receivingReceipt.FirstOrDefault().Id; } } var folderMonitoringTrnDisbursementHeader = from d in newFolderMonitoringTrnDisbursementHeaders where d.BranchId == branch.FirstOrDefault().Id && d.ManualCVNumber.Equals(folderMonitoringTrnDisbursementObject.ManualCVNumber) select d; if (folderMonitoringTrnDisbursementHeader.Any()) { var currentFolderMonitoringTrnDisbursementHeader = folderMonitoringTrnDisbursementHeader.FirstOrDefault(); currentFolderMonitoringTrnDisbursementHeader.ListFolderMonitoringTrnDisbursementLines.Add(new Entities.FolderMonitoringTrnDisbursementLine() { ManualCVNumber = folderMonitoringTrnDisbursementObject.ManualCVNumber, BranchId = lineBranch.FirstOrDefault().Id, AccountId = account.FirstOrDefault().Id, ArticleId = article.FirstOrDefault().Id, RRId = RRId, Particulars = folderMonitoringTrnDisbursementObject.Particulars, Amount = folderMonitoringTrnDisbursementObject.Amount }); } else { newFolderMonitoringTrnDisbursementLines = new List <Entities.FolderMonitoringTrnDisbursementLine> { new Entities.FolderMonitoringTrnDisbursementLine() { ManualCVNumber = folderMonitoringTrnDisbursementObject.ManualCVNumber, BranchId = lineBranch.FirstOrDefault().Id, AccountId = account.FirstOrDefault().Id, ArticleId = article.FirstOrDefault().Id, RRId = RRId, Particulars = folderMonitoringTrnDisbursementObject.Particulars, Amount = folderMonitoringTrnDisbursementObject.Amount } }; if (newFolderMonitoringTrnDisbursementLines.Any()) { newFolderMonitoringTrnDisbursementHeaders.Add(new Entities.FolderMonitoringTrnDisbursementHeader() { BranchId = branch.FirstOrDefault().Id, CVNumber = "0000000000", CVDate = Convert.ToDateTime(folderMonitoringTrnDisbursementObject.CVDate), SupplierId = supplier.FirstOrDefault().Id, Payee = folderMonitoringTrnDisbursementObject.Payee, PayTypeId = payType.FirstOrDefault().Id, BankId = bank.FirstOrDefault().Id, ManualCVNumber = folderMonitoringTrnDisbursementObject.ManualCVNumber, Particulars = folderMonitoringTrnDisbursementObject.Remarks, CheckNumber = folderMonitoringTrnDisbursementObject.CheckNumber, CheckDate = Convert.ToDateTime(folderMonitoringTrnDisbursementObject.CheckDate), Amount = 0, IsCrossCheck = folderMonitoringTrnDisbursementObject.IsCrossCheck, IsClear = folderMonitoringTrnDisbursementObject.IsClear, PreparedById = user.FirstOrDefault().Id, CheckedById = user.FirstOrDefault().Id, ApprovedById = user.FirstOrDefault().Id, Status = null, IsCancelled = false, IsPrinted = false, IsLocked = false, CreatedById = user.FirstOrDefault().Id, CreatedDateTime = Convert.ToDateTime(folderMonitoringTrnDisbursementObject.CreatedDateTime), UpdatedById = user.FirstOrDefault().Id, UpdatedDateTime = Convert.ToDateTime(folderMonitoringTrnDisbursementObject.CreatedDateTime), ListFolderMonitoringTrnDisbursementLines = newFolderMonitoringTrnDisbursementLines }); } } isDataValid = true; } } } if (isDataValid) { if (newFolderMonitoringTrnDisbursementHeaders.Any()) { foreach (var newFolderMonitoringTrnDisbursementHeader in newFolderMonitoringTrnDisbursementHeaders) { Int32 CVId = 0; var defaultCVNumber = "0000000001"; var lastDisbursement = from d in db.TrnDisbursements.OrderByDescending(d => d.Id) where d.BranchId == newFolderMonitoringTrnDisbursementHeader.BranchId select d; if (lastDisbursement.Any()) { var CVNumber = Convert.ToInt32(lastDisbursement.FirstOrDefault().CVNumber) + 0000000001; defaultCVNumber = FillLeadingZeroes(CVNumber, 10); } Data.TrnDisbursement newDisbursement = new Data.TrnDisbursement { BranchId = newFolderMonitoringTrnDisbursementHeader.BranchId, CVNumber = defaultCVNumber, CVDate = newFolderMonitoringTrnDisbursementHeader.CVDate, ManualCVNumber = newFolderMonitoringTrnDisbursementHeader.ManualCVNumber, Payee = newFolderMonitoringTrnDisbursementHeader.Payee, SupplierId = newFolderMonitoringTrnDisbursementHeader.SupplierId, PayTypeId = newFolderMonitoringTrnDisbursementHeader.PayTypeId, Particulars = newFolderMonitoringTrnDisbursementHeader.Particulars, BankId = newFolderMonitoringTrnDisbursementHeader.BankId, CheckNumber = newFolderMonitoringTrnDisbursementHeader.CheckNumber, CheckDate = newFolderMonitoringTrnDisbursementHeader.CheckDate, Amount = newFolderMonitoringTrnDisbursementHeader.Amount, IsCrossCheck = newFolderMonitoringTrnDisbursementHeader.IsCrossCheck, PreparedById = newFolderMonitoringTrnDisbursementHeader.PreparedById, CheckedById = newFolderMonitoringTrnDisbursementHeader.CheckedById, ApprovedById = newFolderMonitoringTrnDisbursementHeader.ApprovedById, IsClear = newFolderMonitoringTrnDisbursementHeader.IsClear, Status = newFolderMonitoringTrnDisbursementHeader.Status, IsCancelled = newFolderMonitoringTrnDisbursementHeader.IsCancelled, IsPrinted = newFolderMonitoringTrnDisbursementHeader.IsPrinted, IsLocked = newFolderMonitoringTrnDisbursementHeader.IsLocked, CreatedById = newFolderMonitoringTrnDisbursementHeader.CreatedById, CreatedDateTime = newFolderMonitoringTrnDisbursementHeader.CreatedDateTime, UpdatedById = newFolderMonitoringTrnDisbursementHeader.UpdatedById, UpdatedDateTime = newFolderMonitoringTrnDisbursementHeader.UpdatedDateTime }; db.TrnDisbursements.InsertOnSubmit(newDisbursement); db.SubmitChanges(); CVId = newDisbursement.Id; if (newFolderMonitoringTrnDisbursementHeader.ListFolderMonitoringTrnDisbursementLines.Any()) { foreach (var listFolderMonitoringTrnDisbursementLine in newFolderMonitoringTrnDisbursementHeader.ListFolderMonitoringTrnDisbursementLines) { Data.TrnDisbursementLine newDisbursementLine = new Data.TrnDisbursementLine { CVId = CVId, BranchId = listFolderMonitoringTrnDisbursementLine.BranchId, AccountId = listFolderMonitoringTrnDisbursementLine.AccountId, ArticleId = listFolderMonitoringTrnDisbursementLine.ArticleId, RRId = listFolderMonitoringTrnDisbursementLine.RRId, Particulars = listFolderMonitoringTrnDisbursementLine.Particulars, Amount = listFolderMonitoringTrnDisbursementLine.Amount }; db.TrnDisbursementLines.InsertOnSubmit(newDisbursementLine); } db.SubmitChanges(); } var disbursement = from d in db.TrnDisbursements where d.Id == CVId select d; if (disbursement.Any()) { Decimal amount = 0; var lines = from d in db.TrnDisbursementLines where d.CVId == CVId select d; if (lines.Any()) { amount = lines.Sum(d => d.Amount); } var lockDisbursement = disbursement.FirstOrDefault(); lockDisbursement.Amount = amount; lockDisbursement.IsLocked = true; db.SubmitChanges(); journal.InsertCashVoucherJournal(CVId); } var disbursementLines = from d in db.TrnDisbursementLines where d.CVId == CVId && d.RRId != null && d.TrnDisbursement.IsLocked == true select d; if (disbursementLines.Any()) { foreach (var disbursementLine in disbursementLines) { accountsPayable.UpdateAccountsPayable(Convert.ToInt32(disbursementLine.RRId)); } } } } } return(Request.CreateResponse(HttpStatusCode.OK, returnMessage)); } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "Data Source is Invalid or Empty.")); } } catch (Exception ex) { Debug.WriteLine(ex); return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Backend Error: " + ex.Message)); } }
public Int32 insertDisbursement(Models.TrnDisbursement disbursement) { try { var userId = (from d in db.MstUsers where d.UserId == User.Identity.GetUserId() select d.Id).SingleOrDefault(); var lastCVBNumber = from d in db.TrnDisbursements.OrderByDescending(d => d.Id) select d; var CVNumberResult = "0000000001"; if (lastCVBNumber.Any()) { var CVNumber = Convert.ToInt32(lastCVBNumber.FirstOrDefault().CVNumber) + 0000000001; CVNumberResult = zeroFill(CVNumber, 10); } Data.TrnDisbursement newDisbursement = new Data.TrnDisbursement(); newDisbursement.BranchId = currentBranchId(); newDisbursement.CVNumber = CVNumberResult; newDisbursement.CVDate = DateTime.Today; newDisbursement.SupplierId = (from d in db.MstArticles where d.ArticleTypeId == 3 select d.Id).FirstOrDefault(); newDisbursement.Payee = "NA"; newDisbursement.PayTypeId = (from d in db.MstPayTypes select d.Id).FirstOrDefault(); newDisbursement.BankId = (from d in db.MstArticles where d.ArticleTypeId == 5 select d.Id).FirstOrDefault(); newDisbursement.ManualCVNumber = "NA"; newDisbursement.Particulars = "NA"; newDisbursement.CheckNumber = "NA"; newDisbursement.CheckDate = DateTime.Today; newDisbursement.Amount = 0; newDisbursement.IsCrossCheck = false; newDisbursement.IsClear = false; newDisbursement.PreparedById = userId; newDisbursement.CheckedById = userId; newDisbursement.ApprovedById = userId; newDisbursement.IsLocked = false; newDisbursement.CreatedById = userId; newDisbursement.CreatedDateTime = DateTime.Now; newDisbursement.UpdatedById = userId; newDisbursement.UpdatedDateTime = DateTime.Now; db.TrnDisbursements.InsertOnSubmit(newDisbursement); db.SubmitChanges(); return newDisbursement.Id; } catch { return 0; } }