public async Task <int> CreatePurchaseInvoiceDetail(PurchaseInvoiceDetailModel purchaseInvoiceDetailModel)
        {
            int purchaseInvoiceDetailId = 0;

            // assign values.
            Purchaseinvoicedetail purchaseInvoiceDetail = new Purchaseinvoicedetail();

            purchaseInvoiceDetail.PurchaseInvoiceId = purchaseInvoiceDetailModel.PurchaseInvoiceId;
            purchaseInvoiceDetail.SrNo                = purchaseInvoiceDetailModel.SrNo;
            purchaseInvoiceDetail.Description         = purchaseInvoiceDetailModel.Description;
            purchaseInvoiceDetail.UnitOfMeasurementId = purchaseInvoiceDetailModel.UnitOfMeasurementId;
            purchaseInvoiceDetail.Quantity            = purchaseInvoiceDetailModel.Quantity;
            purchaseInvoiceDetail.PerUnit             = purchaseInvoiceDetailModel.PerUnit;
            purchaseInvoiceDetail.UnitPrice           = purchaseInvoiceDetailModel.UnitPrice;
            purchaseInvoiceDetail.GrossAmountFc       = 0;
            purchaseInvoiceDetail.GrossAmount         = 0;
            purchaseInvoiceDetail.TaxAmountFc         = 0;
            purchaseInvoiceDetail.TaxAmount           = 0;
            purchaseInvoiceDetail.NetAmountFc         = 0;
            purchaseInvoiceDetail.NetAmount           = 0;

            if (purchaseInvoiceDetailId != 0)
            {
                await UpdatePurchaseInvoiceDetailAmount(purchaseInvoiceDetailId);

                await purchaseInvoice.UpdatePurchaseInvoiceMasterAmount(purchaseInvoiceDetail.PurchaseInvoiceId);
            }

            purchaseInvoiceDetailId = await Create(purchaseInvoiceDetail);

            return(purchaseInvoiceDetailId); // returns.
        }
        private async Task <PurchaseInvoiceDetailModel> AssignValueToModel(Purchaseinvoicedetail purchaseInvoiceDetail)
        {
            return(await Task.Run(() =>
            {
                PurchaseInvoiceDetailModel purchaseInvoiceDetailModel = new PurchaseInvoiceDetailModel();

                purchaseInvoiceDetailModel.PurchaseInvoiceId = purchaseInvoiceDetail.PurchaseInvoiceId;
                purchaseInvoiceDetailModel.SrNo = purchaseInvoiceDetail.SrNo;
                purchaseInvoiceDetailModel.Description = purchaseInvoiceDetail.Description;
                purchaseInvoiceDetailModel.UnitOfMeasurementId = purchaseInvoiceDetail.UnitOfMeasurementId;
                purchaseInvoiceDetailModel.Quantity = purchaseInvoiceDetail.Quantity;
                purchaseInvoiceDetailModel.PerUnit = purchaseInvoiceDetail.PerUnit;
                purchaseInvoiceDetailModel.UnitPrice = purchaseInvoiceDetail.UnitPrice;
                purchaseInvoiceDetailModel.GrossAmountFc = purchaseInvoiceDetail.GrossAmountFc;
                purchaseInvoiceDetailModel.GrossAmount = purchaseInvoiceDetail.GrossAmount;
                purchaseInvoiceDetailModel.UnitPrice = purchaseInvoiceDetail.UnitPrice;
                purchaseInvoiceDetailModel.TaxAmountFc = purchaseInvoiceDetail.TaxAmountFc;
                purchaseInvoiceDetailModel.TaxAmount = purchaseInvoiceDetail.TaxAmount;
                purchaseInvoiceDetailModel.NetAmountFc = purchaseInvoiceDetail.NetAmountFc;
                purchaseInvoiceDetailModel.NetAmount = purchaseInvoiceDetail.NetAmount;

                //--####
                purchaseInvoiceDetailModel.UnitOfMeasurementName = purchaseInvoiceDetail.UnitOfMeasurement.UnitOfMeasurementName;

                return purchaseInvoiceDetailModel;
            }));
        }
        public async Task <PurchaseInvoiceDetailModel> GetPurchaseInvoiceDetailById(int purchaseInvoiceDetailId)
        {
            PurchaseInvoiceDetailModel purchaseInvoiceDetailModel = null;

            IList <PurchaseInvoiceDetailModel> purchaseInvoiceModelDetailList = await GetPurchaseInvoiceDetailList(purchaseInvoiceDetailId, 0);

            if (null != purchaseInvoiceModelDetailList && purchaseInvoiceModelDetailList.Any())
            {
                purchaseInvoiceDetailModel = purchaseInvoiceModelDetailList.FirstOrDefault();
            }

            return(purchaseInvoiceDetailModel); // returns.
        }
Ejemplo n.º 4
0
        public async Task <int> CreatePurchaseInvoiceDetailTax(PurchaseInvoiceDetailTaxModel purchaseInvoiceDetailTaxModel)
        {
            int purchaseInvoiceDetailTaxId = 0;
            int multiplier = 1;

            PurchaseInvoiceDetailModel purchaseInvoiceDetailModel = null;

            purchaseInvoiceDetailModel = await purchaseInvoiceDetail.GetPurchaseInvoiceDetailById((int)purchaseInvoiceDetailTaxModel.PurchaseInvoiceDetId);

            // assign values.
            Purchaseinvoicedetailtax purchaseInvoiceDetailTax = new Purchaseinvoicedetailtax();

            purchaseInvoiceDetailTax.PurchaseInvoiceDetId = purchaseInvoiceDetailTaxModel.PurchaseInvoiceDetId;
            purchaseInvoiceDetailTax.SrNo                  = purchaseInvoiceDetailTaxModel.SrNo;
            purchaseInvoiceDetailTax.TaxLedgerId           = purchaseInvoiceDetailTaxModel.TaxLedgerId;
            purchaseInvoiceDetailTax.TaxPercentageOrAmount = purchaseInvoiceDetailTaxModel.TaxPercentageOrAmount;
            purchaseInvoiceDetailTax.TaxPerOrAmountFc      = purchaseInvoiceDetailTaxModel.TaxPerOrAmountFc;

            if (DiscountType.Percentage.ToString() == purchaseInvoiceDetailTax.TaxPercentageOrAmount)
            {
                purchaseInvoiceDetailTaxModel.TaxAmountFc = (purchaseInvoiceDetailModel.GrossAmountFc * purchaseInvoiceDetailTaxModel.TaxPerOrAmountFc) / 100;
            }
            else
            {
                purchaseInvoiceDetailTaxModel.TaxAmountFc = purchaseInvoiceDetailTaxModel.TaxPerOrAmountFc;
            }

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

            purchaseInvoiceDetailTax.TaxAddOrDeduct = purchaseInvoiceDetailTaxModel.TaxAddOrDeduct;
            purchaseInvoiceDetailTax.TaxAmountFc    = multiplier * purchaseInvoiceDetailTaxModel.TaxAmountFc;
            purchaseInvoiceDetailTax.TaxAmount      = multiplier * purchaseInvoiceDetailTaxModel.TaxAmount;
            purchaseInvoiceDetailTax.Remark         = purchaseInvoiceDetailTaxModel.Remark;

            purchaseInvoiceDetailTaxId = await Create(purchaseInvoiceDetailTax);

            if (purchaseInvoiceDetailTaxId != 0)
            {
                await purchaseInvoiceDetail.UpdatePurchaseInvoiceDetailAmount(purchaseInvoiceDetailTax.PurchaseInvoiceDetId);

                purchaseInvoiceDetailTax = await GetByIdAsync(w => w.PurchaseInvoiceDetTaxId == purchaseInvoiceDetailTaxModel.PurchaseInvoiceDetTaxId);

                await purchaseInvoice.UpdatePurchaseInvoiceMasterAmount(purchaseInvoiceDetailTax.PurchaseInvoiceDet.PurchaseInvoiceId);
            }

            return(purchaseInvoiceDetailTaxId); // returns.
        }
        public List<PurchaseInvoiceDetailModel> getsellingInvoise(int? id)
       {
         
            string Con = _appSettings.Report_Connection;
           

            using (SqlConnection cnn = new SqlConnection(Con))
            {
               SqlCommand cmd = new SqlCommand();
               cmd.Connection = cnn;
               cmd.CommandType = CommandType.Text;
               cmd.CommandText = @"SELECT  PurchaseInvoices.Code ,
               CONVERT(DATE, PurchaseInvoices.Date, 110)   ,
               Partners.NameAR ,
		       PurchaseInvoiceDetails.StockCount ,
		       PurchaseInvoiceDetails.PurchasePrice ,
               PurchaseInvoiceDetails.NetAmmount  ,
		       SUM(PurchaseInvoiceDetails.StockCount) OVER(ORDER BY PurchaseInvoices.Date ROWS BETWEEN UNBOUNDED PRECEDING AND 0 PRECEDING) as StockBalance
               FROM dbo.PurchaseInvoices
               INNER JOIN dbo.PurchaseInvoiceDetails
               ON PurchaseInvoiceDetails.PurchaseInvoiceID = PurchaseInvoices.PurchaseInvoiceID
               INNER JOIN dbo.Partners
               ON Partners.PartnerID = PurchaseInvoiceDetails.PartnerID
               WHERE PurchaseInvoices.PurchaseOrderID = " + id+"";

               cnn.Open();
               SqlDataReader reader = cmd.ExecuteReader();
               List<PurchaseInvoiceDetailModel> PurchaseInvoices = new List<PurchaseInvoiceDetailModel>();
               while (reader.Read())
                {
                    PurchaseInvoiceDetailModel item = new PurchaseInvoiceDetailModel();
                    item.Code = reader.GetString(0);
                    item.ExeDate = reader.GetDateTime(1).ToString("d/MM/yyyy"); ;
                    item.PartnerNameAR= reader.GetString(2);
                    item.StockCount = reader.GetFloat(3);
                    item.PurchasePrice = reader.GetDecimal(4);
                    item.NetAmmount = reader.GetDecimal(5);
                    item.StockBalance = reader.GetDouble(6);
                    PurchaseInvoices.Add(item);
                }
                reader.Close();
                cnn.Close();
                return PurchaseInvoices;
            }
        }
        public async Task <bool> UpdatePurchaseInvoiceDetail(PurchaseInvoiceDetailModel purchaseInvoiceDetailModel)
        {
            bool isUpdated = false;

            // get record.
            Purchaseinvoicedetail purchaseInvoiceDetail = await GetByIdAsync(w => w.PurchaseInvoiceDetId == purchaseInvoiceDetailModel.PurchaseInvoiceDetId);

            if (null != purchaseInvoiceDetail)
            {
                // assign values.
                purchaseInvoiceDetail.PurchaseInvoiceId = purchaseInvoiceDetailModel.PurchaseInvoiceId;
                purchaseInvoiceDetail.SrNo                = purchaseInvoiceDetailModel.SrNo;
                purchaseInvoiceDetail.Description         = purchaseInvoiceDetailModel.Description;
                purchaseInvoiceDetail.UnitOfMeasurementId = purchaseInvoiceDetailModel.UnitOfMeasurementId;
                purchaseInvoiceDetail.Quantity            = purchaseInvoiceDetailModel.Quantity;
                purchaseInvoiceDetail.PerUnit             = purchaseInvoiceDetailModel.PerUnit;
                purchaseInvoiceDetail.UnitPrice           = purchaseInvoiceDetailModel.UnitPrice;
                purchaseInvoiceDetail.GrossAmountFc       = 0;
                purchaseInvoiceDetail.GrossAmount         = 0;
                purchaseInvoiceDetail.TaxAmountFc         = 0;
                purchaseInvoiceDetail.TaxAmount           = 0;
                purchaseInvoiceDetail.NetAmountFc         = 0;
                purchaseInvoiceDetail.NetAmount           = 0;

                isUpdated = await Update(purchaseInvoiceDetail);
            }

            if (isUpdated != false)
            {
                await UpdatePurchaseInvoiceDetailAmount(purchaseInvoiceDetailModel.PurchaseInvoiceDetId);

                await purchaseInvoice.UpdatePurchaseInvoiceMasterAmount(purchaseInvoiceDetail.PurchaseInvoiceId);
            }

            return(isUpdated); // returns.
        }