Ejemplo n.º 1
0
        public TblVoucherMaster AddVoucherMaster(ERPContext context, TblBankReceiptMaster bankReceiptMaster, TblBranch branch, decimal?voucherTypeId, string paymentType)
        {
            try
            {
                decimal shifId         = Convert.ToDecimal(new UserManagmentHelper().GetShiftId(bankReceiptMaster.UserId ?? 0, null));
                var     _voucherMaster = new TblVoucherMaster
                {
                    BranchCode        = bankReceiptMaster.BranchCode,
                    BranchName        = branch.BranchName,
                    VoucherDate       = bankReceiptMaster.BankReceiptDate,
                    VoucherTypeIdMain = voucherTypeId,
                    VoucherTypeIdSub  = 37,
                    VoucherNo         = bankReceiptMaster.VoucherNo,
                    Amount            = bankReceiptMaster.TotalAmount,
                    PaymentType       = "Cheque",
                    Narration         = "Bank Receipt",
                    ServerDate        = DateTime.Now,
                    UserId            = bankReceiptMaster.UserId,
                    UserName          = bankReceiptMaster.UserName,
                    EmployeeId        = -1,
                    ShiftId           = shifId
                };

                context.TblVoucherMaster.Add(_voucherMaster);
                if (context.SaveChanges() > 0)
                {
                    return(_voucherMaster);
                }

                return(null);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 2
0
        public bool RegisterBankReceipt(TblBankReceiptMaster bankReceiptMaster, List <TblBankReceiptDetails> bankReceiptDetails)
        {
            try
            {
                using ERPContext repo   = new ERPContext();
                using var dbTransaction = repo.Database.BeginTransaction();
                try
                {
                    decimal shifId = Convert.ToDecimal(new UserManagmentHelper().GetShiftId(bankReceiptMaster.UserId ?? 0, null));
                    //add voucher typedetails
                    var _branch = GetBranches(bankReceiptMaster.BranchCode).ToArray().FirstOrDefault();

                    var _accountLedger        = GetAccountLedgersCode(bankReceiptMaster.BankLedgerCode).ToArray().FirstOrDefault();
                    var _cashpayAccountLedger = GetAccountLedgerList().Where(x => x.LedgerCode == bankReceiptMaster.BankLedgerCode).FirstOrDefault();
                    var _vouchertType         = GetVoucherTypeList(30).ToArray().FirstOrDefault();

                    #region Add voucher master record
                    var _voucherMaster = AddVoucherMaster(repo, bankReceiptMaster, _branch, _vouchertType.VoucherTypeId, _accountLedger.CrOrDr);
                    #endregion


                    bankReceiptMaster.BankReceiptVchNo = _voucherMaster.VoucherMasterId.ToString();
                    bankReceiptMaster.ServerDate       = DateTime.Now;
                    bankReceiptMaster.BranchId         = _branch.BranchId;
                    bankReceiptMaster.BranchName       = _branch.BranchName;
                    bankReceiptMaster.BankLedgerId     = _cashpayAccountLedger.LedgerId;
                    bankReceiptMaster.BankLedgerName   = _cashpayAccountLedger.LedgerName;
                    bankReceiptMaster.BankLedgerCode   = _cashpayAccountLedger.LedgerCode;
                    bankReceiptMaster.EmployeeId       = _voucherMaster.EmployeeId;
                    bankReceiptMaster.ShiftId          = shifId;
                    repo.TblBankReceiptMaster.Add(bankReceiptMaster);
                    repo.SaveChanges();

                    foreach (var bankDtl in bankReceiptDetails)
                    {
                        //   _accountLedger = GetAccountLedgersByLedgerId((decimal)_taxStructure.SalesAccount).FirstOrDefault();

                        #region Add voucher Details
                        var _voucherDetail = AddVoucherDetails(repo, bankReceiptMaster, _branch, _voucherMaster, _accountLedger, bankDtl.Amount, bankDtl.ToLedgerId, bankDtl.ToLedgerCode);
                        var _cashDtlLedger = GetAccountLedgerList().Where(x => x.LedgerCode == bankDtl.ToLedgerCode).FirstOrDefault();
                        #endregion

                        #region BankReceiptDetail
                        bankDtl.BankReceiptMasterId    = bankReceiptMaster.BankReceiptMasterId;
                        bankDtl.BankReceiptDetailsDate = bankReceiptMaster.BankReceiptDate;
                        bankDtl.ToLedgerId             = _cashDtlLedger.LedgerId;
                        repo.TblBankReceiptDetails.Add(bankDtl);
                        repo.SaveChanges();

                        #endregion

                        #region Add Account Ledger Transaction

                        AddAccountLedgerTransactions(repo, bankReceiptMaster, _voucherDetail, bankReceiptMaster.BankReceiptDate);
                        #endregion
                        AddVoucherDetails(repo, bankReceiptMaster, _branch, _voucherMaster, _accountLedger, bankDtl.Amount, bankDtl.ToLedgerId, bankDtl.ToLedgerCode, false);
                        AddAccountLedgerTransactions(repo, bankReceiptMaster, _voucherDetail, bankReceiptMaster.BankReceiptDate, false);
                    }

                    _accountLedger = GetAccountLedgers(bankReceiptMaster.BankLedgerCode).ToArray().FirstOrDefault();
                    //AddVoucherDetails(repo, bankReceiptMaster, _branch, _voucherMaster, _accountLedger, bankReceiptMaster.TotalAmount, false);


                    dbTransaction.Commit();
                    return(true);
                }
                catch (Exception ex)
                {
                    dbTransaction.Rollback();
                    throw ex;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 3
0
        public TblAccountLedgerTransactions AddAccountLedgerTransactions(ERPContext context, TblBankReceiptMaster bankReceiptMaster, TblVoucherDetail _voucherDetail, DateTime?invoiceDate, bool isdebit = true)
        {
            try
            {
                var _accountLedgerTransactions = new TblAccountLedgerTransactions
                {
                    BranchId        = _voucherDetail.BranchId,
                    BranchCode      = _voucherDetail.BranchCode,
                    BranchName      = _voucherDetail.BranchName,
                    TransactionDate = invoiceDate,
                    // _accountLedgerTransactions.TransactionType = _voucherDetail.TransactionType;
                    VoucherAmount = _voucherDetail.Amount
                };
                if (isdebit == true)
                {
                    _accountLedgerTransactions.VoucherDetailId = _voucherDetail.VoucherDetailId;
                    _accountLedgerTransactions.LedgerId        = _voucherDetail.ToLedgerId;
                    _accountLedgerTransactions.LedgerCode      = _voucherDetail.ToLedgerCode;
                    _accountLedgerTransactions.LedgerName      = _voucherDetail.ToLedgerName;
                    _accountLedgerTransactions.TransactionType = _voucherDetail.TransactionType;
                    _accountLedgerTransactions.DebitAmount     = _accountLedgerTransactions.VoucherAmount;
                    _accountLedgerTransactions.CreditAmount    = Convert.ToDecimal("0.00");
                }
                else
                {
                    _accountLedgerTransactions.VoucherDetailId = _voucherDetail.VoucherDetailId;
                    _accountLedgerTransactions.LedgerId        = bankReceiptMaster.BankLedgerId;
                    _accountLedgerTransactions.LedgerCode      = bankReceiptMaster.BankLedgerCode;
                    _accountLedgerTransactions.LedgerName      = bankReceiptMaster.BankLedgerName;
                    _accountLedgerTransactions.TransactionType = "Credit";
                    _accountLedgerTransactions.CreditAmount    = _accountLedgerTransactions.VoucherAmount;
                    _accountLedgerTransactions.DebitAmount     = Convert.ToDecimal("0.00");
                }


                context.TblAccountLedgerTransactions.Add(_accountLedgerTransactions);
                if (context.SaveChanges() > 0)
                {
                    return(_accountLedgerTransactions);
                }


                return(null);
                //  }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 4
0
        public TblVoucherDetail AddVoucherDetails(ERPContext context, TblBankReceiptMaster bankReceiptMaster, TblBranch _branch, TblVoucherMaster _voucherMaster, TblAccountLedger _accountLedger, decimal?productRate, decimal?ledgerId, string ledgerCode, bool isFromCashDetials = true)
        {
            try
            {
                var _voucherDetail = new TblVoucherDetail();
                var ledgerName     = GetAccountLedgerList().Where(al => al.LedgerCode == ledgerCode).FirstOrDefault();
                _voucherDetail.VoucherMasterId   = _voucherMaster.VoucherMasterId;
                _voucherDetail.VoucherDetailDate = _voucherMaster.VoucherDate;
                _voucherDetail.BranchId          = _branch.BranchId;
                _voucherDetail.BranchCode        = bankReceiptMaster.BranchCode;
                _voucherDetail.BranchName        = bankReceiptMaster.BranchName;
                if (isFromCashDetials == true)
                {
                    _voucherDetail.FromLedgerId    = bankReceiptMaster.BankLedgerId;
                    _voucherDetail.FromLedgerCode  = bankReceiptMaster.BankLedgerCode;
                    _voucherDetail.FromLedgerName  = bankReceiptMaster.BankLedgerName;
                    _voucherDetail.ToLedgerId      = ledgerName.LedgerId;
                    _voucherDetail.ToLedgerCode    = ledgerCode;
                    _voucherDetail.ToLedgerName    = ledgerName.LedgerName;
                    _voucherDetail.Amount          = productRate;
                    _voucherDetail.TransactionType = "Debit";
                    _voucherDetail.CostCenter      = bankReceiptMaster.BranchCode;
                    _voucherDetail.ServerDate      = DateTime.Now;
                    _voucherDetail.Narration       = "Bank Receipt Detail";
                }
                //To ledger  clarifiaction on selecion of product
                else
                {
                    _voucherDetail.FromLedgerId    = ledgerName.LedgerId;
                    _voucherDetail.FromLedgerCode  = ledgerCode;
                    _voucherDetail.FromLedgerName  = ledgerName.LedgerName;
                    _voucherDetail.ToLedgerId      = bankReceiptMaster.BankLedgerId;
                    _voucherDetail.ToLedgerCode    = bankReceiptMaster.BankLedgerCode;
                    _voucherDetail.ToLedgerName    = bankReceiptMaster.BankLedgerName;
                    _voucherDetail.Amount          = productRate;
                    _voucherDetail.TransactionType = "Credit";
                    _voucherDetail.CostCenter      = bankReceiptMaster.BranchCode;
                    _voucherDetail.ServerDate      = DateTime.Now;
                    _voucherDetail.Narration       = "Bank Receipt Detail";
                }

                context.TblVoucherDetail.Add(_voucherDetail);
                if (context.SaveChanges() > 0)
                {
                    return(_voucherDetail);
                }

                #region comment
                //var _voucherDetail = new TblVoucherDetail();
                //_voucherDetail.VoucherMasterId = _voucherMaster.VoucherMasterId;
                //_voucherDetail.VoucherDetailDate = _voucherMaster.VoucherDate;
                //_voucherDetail.BranchId = _branch.BranchId;
                //_voucherDetail.BranchCode = invoice.BranchCode;
                //_voucherDetail.BranchName = invoice.BranchName;
                //_voucherDetail.FromLedgerId = invoice.LedgerId;
                //_voucherDetail.FromLedgerCode = invoice.LedgerCode;
                //_voucherDetail.FromLedgerName = invoice.LedgerName;
                ////To ledger  clarifiaction on selecion of product
                //_voucherDetail.ToLedgerId = _accountLedger.LedgerId;
                //_voucherDetail.ToLedgerCode = _accountLedger.LedgerCode;
                //_voucherDetail.ToLedgerName = _accountLedger.LedgerName;
                //_voucherDetail.Amount = invdtl.Rate;
                //_voucherDetail.TransactionType = _accountLedger.CrOrDr;
                //_voucherDetail.CostCenter = _accountLedger.BranchCode;
                //_voucherDetail.ServerDate = DateTime.Now;
                //_voucherDetail.Narration = "Sales Invoice Product group A/c:" + _voucherDetail.TransactionType;

                //repo.TblVoucherDetail.Add(_voucherDetail);
                //repo.SaveChanges();
                #endregion
                return(null);
                // }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }