public IResponse <NoValue> AddVoucherTransaction(VoucherTransactionCreateModel model) { Logger.Message($"AddVoucherTransaction(KeyAccountID: {model.KeyAccountID}, UserVoucherID: {model.UserVoucherID}"); var result = new Response <NoValue>(); try { var userVoucher = _uow.UserVouchers.Get(model.UserVoucherID); var voucherTransaction = new VoucherTransaction { UserVoucherID = model.UserVoucherID, VoucherID = userVoucher.VoucherID, UserID = userVoucher.UserID, OfferID = userVoucher.OfferID, KeyAccountID = model.KeyAccountID, Amount = userVoucher.Voucher.Amount, // unclear purpose, require further clarification TimeStamp = DateTime.UtcNow }; _uow.VoucherTransactions.Add(voucherTransaction); userVoucher.Valid = false; _uow.Complete(); result.Status = Status.Success; } catch (Exception ex) { result.Message = Message.SomethingWrongError; result.Status = Status.Error; Logger.ErrorWithException(ex); } return(result); }
public JsonResult SaveVoucher(VoucherTransaction objCashBankVoucher, List <VoucherTransaction> lstOtherVoucher, string voucherType, List <SubLedgerHeadDetails> lstSubLedgerHeadDetails) { try { objLoginHelper = (LoginHelper)Session["LogInInformation"]; string EntrySource = string.Empty; if (voucherType == "C") { EntrySource = Helper.ContraVoucherForAccountsEntrySource; } else if (voucherType == "N") { EntrySource = Helper.NonCashVoucherForAccountsEntrySource; } else if (voucherType == "P") { EntrySource = Helper.PaymentVoucherForAccountsEntrySource; } else if (voucherType == "R") { EntrySource = Helper.ReceiveVoucherForAccountsEntrySource; } ArrayList transactionNumberMax = accountDeptDal.ReadVoucherTransNoMax(objLoginHelper.LocationCode, objLoginHelper.CurrentDate.ToString("yyMMdd")); objCashBankVoucher.TransactionNo = Helper.AccountSequenceNumberGeneration(transactionNumberMax, objLoginHelper); Acc_TransNoCount objAccTransNocount = new Acc_TransNoCount(); objAccTransNocount = voucherProcess.TransNoCount(objCashBankVoucher, objLoginHelper.LocationCode); objAccTransNocount.TransCount = null; Acc_PrePostTransMaster objPrePostTransMaster = new Acc_PrePostTransMaster(); objPrePostTransMaster = voucherProcess.CashBankVoucherProcess(objCashBankVoucher, voucherType, objLoginHelper, EntrySource); objPrePostTransMaster.IsAutoEntry = false; List <Acc_PrePostTransDetail> lstPrePostTransDetail = new List <Acc_PrePostTransDetail>(); lstPrePostTransDetail = voucherProcess.OtherBankVoucherProcess(lstOtherVoucher, voucherType, objLoginHelper, EntrySource, objCashBankVoucher.TransactionNo); List <Acc_PrePostTransDetailByDimension> lstPrePostTransDetailByDimension = new List <Acc_PrePostTransDetailByDimension>(); if (lstSubLedgerHeadDetails != null) { lstPrePostTransDetailByDimension = voucherProcess.PrePostTransDetailByDimensionProcess(objCashBankVoucher, lstPrePostTransDetail, lstSubLedgerHeadDetails, objLoginHelper.LocationCode); } objPrePostTransMaster = accountDeptDal.CreateVoucher(objAccTransNocount, objPrePostTransMaster, lstPrePostTransDetail, lstPrePostTransDetailByDimension); return(new JsonResult { Data = ExceptionHelper.ExceptionMessage(string.Empty, Helper.AccountSequenceNumberGeneration(objPrePostTransMaster.TransNo)) }); } catch (Exception ex) { return(new JsonResult { Data = ExceptionHelper.ExceptionMessage(ex) }); } }
public JsonResult SaveEmployeeWiseSalaryPayment(VoucherTransaction objCashBankVoucher, List <VoucherTransaction> lstOtherVoucher, List <EmployeeWiseSalaryPayment> lstEmployeeWiseSalary, string voucherType) { try { objLoginHelper = (LoginHelper)Session["LogInInformation"]; string EntrySource = string.Empty; EntrySource = Helper.BankPaymentVoucherForAccountsEntrySource; ArrayList transactionNumberMax = accountDeptDal.ReadVoucherTransNoMax(objLoginHelper.LocationCode, objLoginHelper.CurrentDate.ToString("yyMMdd")); objCashBankVoucher.TransactionNo = Helper.AccountSequenceNumberGeneration(transactionNumberMax, objLoginHelper); Acc_TransNoCount objAccTransNocount = new Acc_TransNoCount(); objAccTransNocount = voucherProcess.TransNoCount(objCashBankVoucher, objLoginHelper.LocationCode); objAccTransNocount.TransCount = null; Acc_PrePostTransMaster objPrePostTransMaster = new Acc_PrePostTransMaster(); objPrePostTransMaster = voucherProcess.CashBankVoucherProcess(objCashBankVoucher, voucherType, objLoginHelper, EntrySource); objPrePostTransMaster.IsAutoEntry = false; List <Acc_PrePostTransDetail> lstPrePostTransDetail = new List <Acc_PrePostTransDetail>(); lstPrePostTransDetail = voucherProcess.OtherBankVoucherProcess(lstOtherVoucher, voucherType, objLoginHelper, EntrySource, objCashBankVoucher.TransactionNo); List <SubLedgerHeadDetails> lstSubLedgerHeadDetails = new List <SubLedgerHeadDetails>(); lstSubLedgerHeadDetails = voucherProcess.PrepareEmployeeWiseSalaryToSubLedgerDimension(lstEmployeeWiseSalary, objLoginHelper.LocationCode, objCashBankVoucher.TransactionNo); List <Acc_PrePostTransDetailByDimension> lstTransDetailByDimension = new List <Acc_PrePostTransDetailByDimension>(); lstTransDetailByDimension = voucherProcess.PrePostTransDetailByDimensionProcess(objCashBankVoucher, lstPrePostTransDetail, lstSubLedgerHeadDetails, objLoginHelper.LocationCode); //start oroginal //objPrePostTransMaster = accountDeptDal.CreateVoucher(objPrePostTransMaster, lstEmployeeWiseSalary); // objPrePostTransMaster = accountDeptDal.CreateVoucher(objAccTransNocount, objPrePostTransMaster, lstPrePostTransDetail, lstTransDetailByDimension); //end oroginal //start new string supportMethod = "ttd";//its use for support method objPrePostTransMaster = accountDeptDal.CreateVoucherForSaveEmployeeWiseSalaryPayment(objAccTransNocount, lstEmployeeWiseSalary, lstPrePostTransDetail, lstTransDetailByDimension, objPrePostTransMaster, supportMethod); //end new return(new JsonResult { Data = ExceptionHelper.ExceptionMessage(string.Empty, Helper.AccountSequenceNumberGeneration(objPrePostTransMaster.TransNo)) }); } catch (Exception ex) { return(new JsonResult { Data = ExceptionHelper.ExceptionMessage(ex) }); } }
public Acc_TransNoCount TransNoCount(VoucherTransaction objCashBankVoucher, string locationCode) { Acc_TransNoCount objtransNoCount = new Acc_TransNoCount(); objtransNoCount.LocationCode = locationCode; objtransNoCount.TransDate = DateTime.Now; //Convert.ToDateTime(objCashBankVoucher.TransactionDate); //objtransNoCount.ProjectCode = objCashBankVoucher.ProjectCode; objtransNoCount.TransNo = objCashBankVoucher.TransactionNo; //objtransNoCount.Add(objtransNoCount); return(objtransNoCount); }
public JsonResult SavePaymentOrReceieveVoucherForAuditor(VoucherTransaction objCashBankVoucher, List <VoucherTransaction> lstOtherVoucher, VoucherTransactionAudit objvoucherTransactionAudit, string voucherType) { try { objLoginHelper = (LoginHelper)Session["LogInInformation"]; string EntrySource = string.Empty; if (voucherType == "C") { EntrySource = Helper.ContraVoucherForAuditorEntrySource; } else if (voucherType == "N") { EntrySource = Helper.NonCashVoucherForAuditorEntrySource; } else if (voucherType == "P") { EntrySource = Helper.PaymentVoucherForAuditorEntrySource; } else if (voucherType == "R") { EntrySource = Helper.ReceiveVoucherForAuditorEntrySource; } Acc_TransNoCount objAccTransNocount = new Acc_TransNoCount(); objAccTransNocount = voucherProcess.TransNoCount(objCashBankVoucher, objLoginHelper.LocationCode); //Newly Add By Md.Sultan Mahmud objAccTransNocount.TransCount = null; Acc_PrePostTransMaster objPrePostTransMaster = new Acc_PrePostTransMaster(); objPrePostTransMaster = voucherProcess.CashBankVoucherProcess(objCashBankVoucher, voucherType, objLoginHelper, EntrySource); List <Acc_PrePostTransDetail> lstPrePostTransDetail = new List <Acc_PrePostTransDetail>(); lstPrePostTransDetail = voucherProcess.OtherBankVoucherProcess(lstOtherVoucher, voucherType, objLoginHelper, EntrySource, objCashBankVoucher.TransactionNo); Aud_AuditAdjustmentRelatedAccountingTransaction objAuditAdjustmentRelatedAccountingTransaction = new Aud_AuditAdjustmentRelatedAccountingTransaction(); objAuditAdjustmentRelatedAccountingTransaction = voucherProcess.AuditAdjustmentVoucherOrAccount(objvoucherTransactionAudit, objLoginHelper); objPrePostTransMaster = accountDeptDal.CreateVoucher(objAccTransNocount, objPrePostTransMaster, lstPrePostTransDetail, objAuditAdjustmentRelatedAccountingTransaction); return(new JsonResult { Data = ExceptionHelper.ExceptionMessage(string.Empty, Helper.AccountSequenceNumberGeneration(objPrePostTransMaster.TransNo)) }); } catch (Exception ex) { return(new JsonResult { Data = ExceptionHelper.ExceptionMessage(ex) }); } }
public Acc_PrePostTransMaster CashBankVoucherProcess(VoucherTransaction objCashBankVoucher, string voucherType, LoginHelper objLoginHelper, string entrySource) { Acc_PrePostTransMaster objPrePostTransMaster = new Acc_PrePostTransMaster(); objPrePostTransMaster.LocationCode = objLoginHelper.LocationCode; objPrePostTransMaster.TransDate = objCashBankVoucher.TransactionDate; objPrePostTransMaster.ProjectCode = objCashBankVoucher.ProjectCode; objPrePostTransMaster.TransNo = objCashBankVoucher.TransactionNo; objPrePostTransMaster.GenParticulars = objCashBankVoucher.GeneralParticulars; objPrePostTransMaster.CBVoucher = Helper.VoucherSelection(voucherType); objPrePostTransMaster.CBVType = Helper.VoucherTypeSelection(voucherType); objPrePostTransMaster.IsAutoEntry = true; objPrePostTransMaster.EntrySource = entrySource; objPrePostTransMaster.SenderOrReceiverFlag = null; objPrePostTransMaster.SenderOrReceiverLocationCode = null; objPrePostTransMaster.UserID = objLoginHelper.LogInID; objPrePostTransMaster.EntryTime = DateTime.Now; return(objPrePostTransMaster); }
public List <Acc_PrePostTransDetailByDimension> PrePostTransDetailByEmployeeWiseSalaryDimensionProcess(VoucherTransaction objCashBankVoucher, List <Acc_PrePostTransDetail> lstPrePostTransDetail, List <EmployeeWiseSalaryPayment> lstEmployeeWiseSalary, string locationCode) { List <Acc_PrePostTransDetailByDimension> lstPrePostTransDetailByDimensionProcess = new List <Acc_PrePostTransDetailByDimension>(); Acc_PrePostTransDetailByDimension objPrePostDimensionForSalary; foreach (Acc_PrePostTransDetail vtrans in lstPrePostTransDetail) { if (vtrans.AccountNo == "204010150" || vtrans.AccountNo == "204010175" || vtrans.AccountNo == "204010155") { foreach (EmployeeWiseSalaryPayment emp in lstEmployeeWiseSalary) { if (vtrans.Amount > 0) { if (emp.SalaryOtherThanTADAAmount != 0 || emp.TADAAmount != 0 || emp.BonusAmount != 0) { objPrePostDimensionForSalary = new Acc_PrePostTransDetailByDimension(); objPrePostDimensionForSalary.LocationCode = locationCode; objPrePostDimensionForSalary.TransDate = Convert.ToDateTime(objCashBankVoucher.TransactionDate); objPrePostDimensionForSalary.ProjectCode = objCashBankVoucher.ProjectCode; objPrePostDimensionForSalary.TransNo = objCashBankVoucher.TransactionNo; objPrePostDimensionForSalary.SerialNo = vtrans.SerialNo; objPrePostDimensionForSalary.DimensionCode = "EMPLOYEEID"; objPrePostDimensionForSalary.DimensionValueID = emp.EmployeeID; if (vtrans.AccountNo == "204010150") { objPrePostDimensionForSalary.Amount = emp.SalaryOtherThanTADAAmount; } else if (vtrans.AccountNo == "204010175") { objPrePostDimensionForSalary.Amount = emp.TADAAmount; } else if (vtrans.AccountNo == "204010155") { objPrePostDimensionForSalary.Amount = emp.BonusAmount; } objPrePostDimensionForSalary.RefAccountNo = vtrans.AccountNo; lstPrePostTransDetailByDimensionProcess.Add(objPrePostDimensionForSalary); } } } } } return(lstPrePostTransDetailByDimensionProcess); }
public List <Acc_PrePostTransDetailByDimension> PrePostTransDetailByDimensionProcess(VoucherTransaction objCashBankVoucher, List <Acc_PrePostTransDetail> lstPrePostTransDetail, List <SubLedgerHeadDetails> lstSubLedgerHeadDetails, string locationCode) { List <Acc_PrePostTransDetailByDimension> lstPrePostTransDetailByDimensionProcess = new List <Acc_PrePostTransDetailByDimension>(); Acc_PrePostTransDetailByDimension objPrePostTransDetailByDimension; int serialNo = 0; string ssp = "a"; foreach (SubLedgerHeadDetails subLedger in lstSubLedgerHeadDetails) { if (ssp != subLedger.AccountNo) { serialNo = (from ss in lstPrePostTransDetail where ss.AccountNo == subLedger.AccountNo select ss.SerialNo).FirstOrDefault(); ssp = (from ss in lstPrePostTransDetail where ss.AccountNo == subLedger.AccountNo select ss.AccountNo).FirstOrDefault(); } bool isTheDimensionMandatory = accountDeptDal.IsTheDimensionMandatoryExistOrNot(subLedger.AccountNo); if (isTheDimensionMandatory == true) { objPrePostTransDetailByDimension = new Acc_PrePostTransDetailByDimension(); objPrePostTransDetailByDimension.LocationCode = locationCode; objPrePostTransDetailByDimension.TransDate = objCashBankVoucher.TransactionDate; objPrePostTransDetailByDimension.ProjectCode = objCashBankVoucher.ProjectCode; objPrePostTransDetailByDimension.TransNo = objCashBankVoucher.TransactionNo; objPrePostTransDetailByDimension.SerialNo = serialNo; objPrePostTransDetailByDimension.DimensionCode = subLedger.DimensionCode; objPrePostTransDetailByDimension.DimensionValueID = subLedger.DimensionValueID; objPrePostTransDetailByDimension.Amount = DebitOrCreditConversion(subLedger.TransactionType, Convert.ToDecimal(subLedger.DimensionAmount)); objPrePostTransDetailByDimension.RefAccountNo = subLedger.AccountNo; lstPrePostTransDetailByDimensionProcess.Add(objPrePostTransDetailByDimension); } } return(lstPrePostTransDetailByDimensionProcess); }