コード例 #1
0
        /// <summary>
        /// add new invoice master.
        /// </summary>
        /// <returns></returns>
        public async Task <IActionResult> AddInvoiceMaster()
        {
            ViewBag.CustomerList = await _ledger.GetLedgerSelectList((int)LedgerName.SundryDebtor);

            ViewBag.BankLedgerList = await _ledger.GetLedgerSelectList((int)LedgerName.BankAccount);

            ViewBag.AccountLedgerList = await _ledger.GetLedgerSelectList(0);

            ViewBag.TaxRegisterList = await _taxRegister.GetTaxRegisterSelectList();

            ViewBag.CurrencyList = await _currency.GetCurrencySelectList();

            ViewBag.TaxModelTypeList = EnumHelper.GetEnumListFor <TaxModelType>();
            ViewBag.DiscountTypeList = EnumHelper.GetEnumListFor <DiscountType>();

            UserSessionModel  userSession       = SessionExtension.GetComplexData <UserSessionModel>(HttpContext.Session, "UserSession");
            SalesInvoiceModel salesInvoiceModel = new SalesInvoiceModel();

            salesInvoiceModel.CompanyId       = userSession.CompanyId;
            salesInvoiceModel.FinancialYearId = userSession.FinancialYearId;

            // generate no.
            GenerateNoModel generateNoModel = await _salesInvoice.GenerateInvoiceNo(userSession.CompanyId, userSession.FinancialYearId);

            salesInvoiceModel.InvoiceNo   = generateNoModel.VoucherNo;
            salesInvoiceModel.InvoiceDate = DateTime.Now;

            return(await Task.Run(() =>
            {
                return PartialView("_AddInvoiceMaster", salesInvoiceModel);
            }));
        }
コード例 #2
0
        /// <summary>
        /// generate invoice no.
        /// </summary>
        /// <param name="companyId"></param>
        /// <param name="financialYearId"></param>
        /// <returns>
        /// return invoice no.
        /// </returns>
        public async Task <GenerateNoModel> GenerateInvoiceNo(int companyId, int financialYearId)
        {
            int voucherSetupId = 2;
            // get maxno.
            int?maxNo = await GetQueryByCondition(w => w.CompanyId == companyId && w.FinancialYearId == financialYearId).MaxAsync(m => m.MaxNo);

            GenerateNoModel generateNoModel = await common.GenerateVoucherNo(Convert.ToInt32(maxNo), voucherSetupId, companyId, financialYearId);

            return(generateNoModel); // returns.
        }
コード例 #3
0
        /// <summary>
        /// create new sales invoice.
        /// </summary>
        /// <param name="salesInvoiceModel"></param>
        /// <returns>
        /// return id.
        /// </returns>
        public async Task <int> CreateSalesInvoice(SalesInvoiceModel salesInvoiceModel)
        {
            int salesInvoiceId = 0;

            // generate no.
            GenerateNoModel generateNoModel = await GenerateInvoiceNo(salesInvoiceModel.CompanyId, salesInvoiceModel.FinancialYearId);

            // assign values.
            Salesinvoice salesInvoice = new Salesinvoice();

            salesInvoice.MaxNo                      = generateNoModel.MaxNo;
            salesInvoice.VoucherStyleId             = generateNoModel.VoucherStyleId;
            salesInvoice.InvoiceNo                  = generateNoModel.VoucherNo;
            salesInvoice.InvoiceDate                = salesInvoiceModel.InvoiceDate;
            salesInvoice.CustomerLedgerId           = salesInvoiceModel.CustomerLedgerId;
            salesInvoice.BillToAddressId            = salesInvoiceModel.BillToAddressId;
            salesInvoice.AccountLedgerId            = salesInvoiceModel.AccountLedgerId;
            salesInvoice.BankLedgerId               = salesInvoiceModel.BankLedgerId;
            salesInvoice.CustomerReferenceNo        = salesInvoiceModel.CustomerReferenceNo;
            salesInvoice.CustomerReferenceDate      = salesInvoiceModel.CustomerReferenceDate;
            salesInvoice.CreditLimitDays            = salesInvoiceModel.CreditLimitDays;
            salesInvoice.PaymentTerm                = salesInvoiceModel.PaymentTerm;
            salesInvoice.Remark                     = salesInvoiceModel.Remark;
            salesInvoice.TaxModelType               = salesInvoiceModel.TaxModelType;
            salesInvoice.TaxRegisterId              = salesInvoiceModel.TaxRegisterId;
            salesInvoice.CurrencyId                 = salesInvoiceModel.CurrencyId;
            salesInvoice.ExchangeRate               = salesInvoiceModel.ExchangeRate;
            salesInvoice.TotalLineItemAmountFc      = 0;
            salesInvoice.TotalLineItemAmount        = 0;
            salesInvoice.GrossAmountFc              = 0;
            salesInvoice.GrossAmount                = 0;
            salesInvoice.NetAmountFc                = 0;
            salesInvoice.NetAmount                  = 0;
            salesInvoice.NetAmountFcinWord          = "";
            salesInvoice.TaxAmountFc                = 0;
            salesInvoice.TaxAmount                  = 0;
            salesInvoice.DiscountPercentageOrAmount = salesInvoiceModel.DiscountPercentageOrAmount;
            salesInvoice.DiscountPercentage         = salesInvoiceModel.DiscountPercentage;
            salesInvoice.DiscountAmountFc           = 0;
            salesInvoice.DiscountAmount             = 0;
            salesInvoice.StatusId                   = salesInvoiceModel.StatusId;
            salesInvoice.CompanyId                  = salesInvoiceModel.CompanyId;
            salesInvoice.FinancialYearId            = salesInvoiceModel.FinancialYearId;
            await Create(salesInvoice);

            salesInvoiceId = salesInvoice.InvoiceId;

            if (salesInvoiceId > 0)
            {
                await UpdateSalesInvoiceMasterAmount(salesInvoiceId);
            }

            return(salesInvoiceId); // returns.
        }
コード例 #4
0
        /// <summary>
        /// create new purchase invoice.
        /// </summary>
        /// <param name="purchaseInvoiceModel"></param>
        /// <returns>
        /// return id.
        /// </returns>
        public async Task <int> CreatePurchaseInvoice(PurchaseInvoiceModel purchaseInvoiceModel)
        {
            int purchaseInvoiceId = 0;

            GenerateNoModel generateNoModel = await GenerateInvoiceNo(purchaseInvoiceModel.CompanyId, purchaseInvoiceModel.FinancialYearId);

            // assign values.
            Purchaseinvoice purchaseInvoice = new Purchaseinvoice();

            purchaseInvoice.InvoiceNo      = generateNoModel.VoucherNo;
            purchaseInvoice.MaxNo          = generateNoModel.MaxNo;
            purchaseInvoice.VoucherStyleId = generateNoModel.VoucherStyleId;

            purchaseInvoice.InvoiceDate           = purchaseInvoiceModel.InvoiceDate;
            purchaseInvoice.SupplierLedgerId      = purchaseInvoiceModel.SupplierLedgerId;
            purchaseInvoice.BillToAddressId       = purchaseInvoiceModel.BillToAddressId;
            purchaseInvoice.AccountLedgerId       = purchaseInvoiceModel.AccountLedgerId;
            purchaseInvoice.SupplierReferenceNo   = purchaseInvoiceModel.SupplierReferenceNo;
            purchaseInvoice.SupplierReferenceDate = purchaseInvoiceModel.SupplierReferenceDate;
            purchaseInvoice.CreditLimitDays       = purchaseInvoiceModel.CreditLimitDays;
            purchaseInvoice.PaymentTerm           = purchaseInvoiceModel.PaymentTerm;
            purchaseInvoice.Remark                = purchaseInvoiceModel.Remark;
            purchaseInvoice.TaxModelType          = purchaseInvoiceModel.TaxModelType;
            purchaseInvoice.TaxRegisterId         = purchaseInvoiceModel.TaxRegisterId;
            purchaseInvoice.CurrencyId            = purchaseInvoiceModel.CurrencyId;
            purchaseInvoice.ExchangeRate          = purchaseInvoiceModel.ExchangeRate;
            purchaseInvoice.TotalLineItemAmountFc = 0;
            purchaseInvoice.TotalLineItemAmount   = 0;
            purchaseInvoice.GrossAmountFc         = 0;
            purchaseInvoice.GrossAmount           = 0;
            purchaseInvoice.NetAmountFc           = 0;
            purchaseInvoice.NetAmount             = 0;
            purchaseInvoice.NetAmountFcinWord     = "";
            purchaseInvoice.TaxAmountFc           = 0;
            purchaseInvoice.TaxAmount             = 0;

            purchaseInvoice.DiscountPercentageOrAmount = purchaseInvoiceModel.DiscountPercentageOrAmount;
            purchaseInvoice.DiscountPerOrAmountFc      = purchaseInvoiceModel.DiscountPerOrAmountFc;
            purchaseInvoice.DiscountAmountFc           = 0;
            purchaseInvoice.DiscountAmount             = 0;

            purchaseInvoice.StatusId        = 1;//purchaseInvoiceModel.StatusId;
            purchaseInvoice.CompanyId       = purchaseInvoiceModel.CompanyId;
            purchaseInvoice.FinancialYearId = purchaseInvoiceModel.FinancialYearId;

            purchaseInvoiceId = await Create(purchaseInvoice);

            if (purchaseInvoiceId != 0)
            {
                await UpdatePurchaseInvoiceMasterAmount(purchaseInvoiceId);
            }

            return(purchaseInvoiceId); // returns.
        }