Beispiel #1
0
        public async Task <JsonResult> SaveInvoiceTaxDetail(SalesInvoiceDetailTaxModel salesInvoiceDetailTaxModel)
        {
            JsonData <JsonStatus> data = new JsonData <JsonStatus>(new JsonStatus());

            if (ModelState.IsValid)
            {
                if (salesInvoiceDetailTaxModel.InvoiceDetTaxId > 0)
                {
                    // update record.
                    if (true == await _salesInvoiceDetailTax.UpdateSalesInvoiceDetailTax(salesInvoiceDetailTaxModel))
                    {
                        data.Result.Status = true;
                    }
                }
                else
                {
                    // add new record.
                    if (await _salesInvoiceDetailTax.CreateSalesInvoiceDetailTax(salesInvoiceDetailTaxModel) > 0)
                    {
                        data.Result.Status = true;
                    }
                }
            }

            return(Json(data));
        }
        public async Task <SalesInvoiceDetailTaxModel> GetSalesInvoiceDetailTaxById(int salesInvoiceDetailTaxId)
        {
            SalesInvoiceDetailTaxModel salesInvoiceDetailTaxModel = null;

            IList <SalesInvoiceDetailTaxModel> salesInvoiceDetailTaxModelList = await GetSalesInvoiceDetailTaxList(salesInvoiceDetailTaxId, 0, 0);

            if (null != salesInvoiceDetailTaxModelList && salesInvoiceDetailTaxModelList.Any())
            {
                salesInvoiceDetailTaxModel = salesInvoiceDetailTaxModelList.FirstOrDefault();
            }

            return(salesInvoiceDetailTaxModel); // returns.
        }
Beispiel #3
0
        /// <summary>
        /// edit invoice tax detail.
        /// </summary>
        /// <param name="invoiceDetTaxId"></param>
        /// <returns></returns>
        public async Task <IActionResult> EditInvoiceTaxDetail(int invoiceDetTaxId)
        {
            ViewBag.DiscountTypeList   = EnumHelper.GetEnumListFor <DiscountType>();
            ViewBag.TaxAddOrDeductList = EnumHelper.GetEnumListFor <TaxAddOrDeduct>();
            ViewBag.TaxLedgerList      = await _ledger.GetLedgerSelectList((int)LedgerName.DutiesAndTaxes);

            SalesInvoiceDetailTaxModel salesInvoiceDetailTaxModel = await _salesInvoiceDetailTax.GetSalesInvoiceDetailTaxById(invoiceDetTaxId);

            return(await Task.Run(() =>
            {
                return PartialView("_AddInvoiceTaxDetail", salesInvoiceDetailTaxModel);
            }));
        }
        public async Task <int> CreateSalesInvoiceDetailTax(SalesInvoiceDetailTaxModel salesInvoiceDetailTaxModel)
        {
            int salesInvoiceDetailTaxId = 0;
            int multiplier = 1;

            SalesInvoiceDetailModel salesInvoiceDetailModel = null;

            salesInvoiceDetailModel = await salesInvoiceDetail.GetSalesInvoiceDetailById((int)salesInvoiceDetailTaxModel.InvoiceDetId);

            // assign values.
            Salesinvoicedetailtax salesInvoiceDetailTax = new Salesinvoicedetailtax();

            salesInvoiceDetailTax.InvoiceDetId          = salesInvoiceDetailTaxModel.InvoiceDetId;
            salesInvoiceDetailTax.SrNo                  = salesInvoiceDetailTaxModel.SrNo;
            salesInvoiceDetailTax.TaxLedgerId           = salesInvoiceDetailTaxModel.TaxLedgerId;
            salesInvoiceDetailTax.TaxPercentageOrAmount = salesInvoiceDetailTaxModel.TaxPercentageOrAmount;
            salesInvoiceDetailTax.TaxPerOrAmountFc      = salesInvoiceDetailTaxModel.TaxPerOrAmountFc;

            if (DiscountType.Percentage.ToString() == salesInvoiceDetailTaxModel.TaxPercentageOrAmount)
            {
                salesInvoiceDetailTaxModel.TaxAmountFc = (salesInvoiceDetailModel.GrossAmountFc * salesInvoiceDetailTaxModel.TaxPerOrAmountFc) / 100;
            }
            else
            {
                salesInvoiceDetailTaxModel.TaxAmountFc = salesInvoiceDetailTaxModel.TaxPerOrAmountFc;
            }

            if (TaxAddOrDeduct.Deduct.ToString() == salesInvoiceDetailTaxModel.TaxAddOrDeduct)
            {
                multiplier = -1;
            }

            salesInvoiceDetailTax.TaxAddOrDeduct = salesInvoiceDetailTaxModel.TaxAddOrDeduct;
            salesInvoiceDetailTax.TaxAmountFc    = multiplier * salesInvoiceDetailTaxModel.TaxAmountFc;
            salesInvoiceDetailTax.TaxAmount      = multiplier * salesInvoiceDetailTaxModel.TaxAmount;
            salesInvoiceDetailTax.Remark         = salesInvoiceDetailTaxModel.Remark;
            await Create(salesInvoiceDetailTax);

            salesInvoiceDetailTaxId = salesInvoiceDetailTax.InvoiceDetTaxId;
            if (salesInvoiceDetailTaxId != 0)
            {
                await salesInvoiceDetail.UpdateSalesInvoiceDetailAmount(salesInvoiceDetailTax.InvoiceDetId);

                salesInvoiceDetailTax = await GetByIdAsync(w => w.InvoiceDetTaxId == salesInvoiceDetailTaxModel.InvoiceDetTaxId);

                await salesInvoice.UpdateSalesInvoiceMasterAmount(salesInvoiceDetailTax.InvoiceDet.InvoiceId);
            }

            return(salesInvoiceDetailTaxId); // returns.
        }
        public async Task <bool> UpdateSalesInvoiceDetailTax(SalesInvoiceDetailTaxModel salesInvoiceDetailTaxModel)
        {
            bool isUpdated  = false;
            int  multiplier = 1;

            // get record.
            Salesinvoicedetailtax salesInvoiceDetailTax = await GetByIdAsync(w => w.InvoiceDetTaxId == salesInvoiceDetailTaxModel.InvoiceDetTaxId);

            if (null != salesInvoiceDetailTax)
            {
                // assign values.
                salesInvoiceDetailTax.InvoiceDetId          = salesInvoiceDetailTaxModel.InvoiceDetId;
                salesInvoiceDetailTax.SrNo                  = salesInvoiceDetailTaxModel.SrNo;
                salesInvoiceDetailTax.TaxLedgerId           = salesInvoiceDetailTaxModel.TaxLedgerId;
                salesInvoiceDetailTax.TaxPercentageOrAmount = salesInvoiceDetailTaxModel.TaxPercentageOrAmount;
                salesInvoiceDetailTax.TaxPerOrAmountFc      = salesInvoiceDetailTaxModel.TaxPerOrAmountFc;

                if (DiscountType.Percentage.ToString() == salesInvoiceDetailTaxModel.TaxPercentageOrAmount)
                {
                    salesInvoiceDetailTaxModel.TaxAmountFc = (salesInvoiceDetailTax.InvoiceDet.GrossAmountFc * salesInvoiceDetailTaxModel.TaxPerOrAmountFc) / 100;
                }
                else
                {
                    salesInvoiceDetailTaxModel.TaxAmountFc = salesInvoiceDetailTaxModel.TaxPerOrAmountFc;
                }

                if (TaxAddOrDeduct.Deduct.ToString() == salesInvoiceDetailTaxModel.TaxAddOrDeduct)
                {
                    multiplier = -1;
                }

                salesInvoiceDetailTax.TaxAddOrDeduct = salesInvoiceDetailTaxModel.TaxAddOrDeduct;
                salesInvoiceDetailTax.TaxAmountFc    = multiplier * salesInvoiceDetailTaxModel.TaxAmountFc;
                salesInvoiceDetailTax.TaxAmount      = multiplier * salesInvoiceDetailTaxModel.TaxAmount;
                salesInvoiceDetailTax.Remark         = salesInvoiceDetailTaxModel.Remark;
                isUpdated = await Update(salesInvoiceDetailTax);
            }

            if (isUpdated != false)
            {
                await salesInvoiceDetail.UpdateSalesInvoiceDetailAmount(salesInvoiceDetailTax.InvoiceDetId);

                await salesInvoice.UpdateSalesInvoiceMasterAmount(salesInvoiceDetailTax.InvoiceDet.InvoiceId);
            }

            return(isUpdated); // returns.
        }
        private async Task <SalesInvoiceDetailTaxModel> AssignValueToModel(Salesinvoicedetailtax salesInvoiceDetailTax)
        {
            return(await Task.Run(() =>
            {
                SalesInvoiceDetailTaxModel salesInvoiceDetailTaxModel = new SalesInvoiceDetailTaxModel();
                salesInvoiceDetailTaxModel.InvoiceDetTaxId = salesInvoiceDetailTax.InvoiceDetTaxId;
                salesInvoiceDetailTaxModel.InvoiceDetId = salesInvoiceDetailTax.InvoiceDetId;
                salesInvoiceDetailTaxModel.SrNo = salesInvoiceDetailTax.SrNo;
                salesInvoiceDetailTaxModel.TaxLedgerId = salesInvoiceDetailTax.TaxLedgerId;
                salesInvoiceDetailTaxModel.TaxPercentageOrAmount = salesInvoiceDetailTax.TaxPercentageOrAmount;
                salesInvoiceDetailTaxModel.TaxPerOrAmountFc = salesInvoiceDetailTax.TaxPerOrAmountFc;
                salesInvoiceDetailTaxModel.TaxAddOrDeduct = salesInvoiceDetailTax.TaxAddOrDeduct;
                salesInvoiceDetailTaxModel.TaxAmountFc = salesInvoiceDetailTax.TaxAmountFc;
                salesInvoiceDetailTaxModel.TaxAmount = salesInvoiceDetailTax.TaxAmount;
                salesInvoiceDetailTaxModel.Remark = salesInvoiceDetailTax.Remark;
                // ###
                salesInvoiceDetailTaxModel.TaxLedgerName = null != salesInvoiceDetailTax.TaxLedger ? salesInvoiceDetailTax.TaxLedger.LedgerName : null;

                return salesInvoiceDetailTaxModel;
            }));
        }