Пример #1
0
 /// <summary>
 /// Function to fill datagridview
 /// </summary>
 public void GridFill()
 {
     try
     {
         CurrencySP spCurrency   = new CurrencySP();
         DataTable  dtblCurrency = new DataTable();
         if (txtCurrencyName.Text == string.Empty && txtCurrencySymbol.Text == string.Empty)
         {
             txtCurrencyName.Text   = string.Empty;
             txtCurrencySymbol.Text = string.Empty;
         }
         dtblCurrency           = spCurrency.CurrencySearch(txtCurrencyName.Text, txtCurrencySymbol.Text);
         dgvCurrency.DataSource = dtblCurrency;
     }
     catch (Exception ex)
     {
         formMDI.infoError.ErrorString = "CDP1:" + ex.Message;
     }
 }
Пример #2
0
 /// <summary>
 /// Function to fill controls for update
 /// </summary>
 public void FillControls()
 {
     try
     {
         CurrencyInfo infoCurrency = new CurrencyInfo();
         CurrencySP   spCurrency   = new CurrencySP();
         infoCurrency          = spCurrency.CurrencyView(decId);
         txtName.Text          = infoCurrency.CurrencyName;
         txtSymbol.Text        = infoCurrency.CurrencySymbol;
         txtSubUnit.Text       = infoCurrency.SubunitName;
         txtDecimalPlaces.Text = infoCurrency.NoOfDecimalPlaces.ToString();
         txtNarration.Text     = infoCurrency.Narration;
         decCurrencyId         = infoCurrency.CurrencyId;
     }
     catch (Exception ex)
     {
         formMDI.infoError.ErrorString = "C4:" + ex.Message;
     }
 }
Пример #3
0
 /// <summary>
 /// Function to delete
 /// </summary>
 public void DeleteFunction()
 {
     try
     {
         CurrencySP spCurrency = new CurrencySP();
         if (spCurrency.CurrencyCheckReferences(decId) == -1)
         {
             Messages.ReferenceExistsMessage();
         }
         else
         {
             Messages.DeletedMessage();
             Clear();
             GridFill();
         }
     }
     catch (Exception ex)
     {
         formMDI.infoError.ErrorString = "C8:" + ex.Message;
     }
 }
Пример #4
0
 /// <summary>
 /// Function to save
 /// </summary>
 public void SaveFunction()
 {
     try
     {
         CurrencyInfo infoCurrency = new CurrencyInfo();
         CurrencySP   spCurrency   = new CurrencySP();
         infoCurrency.CurrencySymbol    = txtSymbol.Text.Trim();
         infoCurrency.CurrencyName      = txtName.Text.Trim();
         infoCurrency.SubunitName       = txtSubUnit.Text.Trim();
         infoCurrency.NoOfDecimalPlaces = Convert.ToInt32(txtDecimalPlaces.Text.Trim());
         infoCurrency.Narration         = txtNarration.Text.Trim();
         infoCurrency.IsDefault         = false;
         infoCurrency.Extra1            = string.Empty;
         infoCurrency.Extra2            = string.Empty;
         if (spCurrency.CurrencyNameCheckExistence(txtName.Text.Trim(), txtSymbol.Text.Trim(), 0) == false)
         {
             decCurrency = spCurrency.CurrencyAddwithIdentity(infoCurrency);
             Messages.SavedMessage();
             Clear();
             decIdForOtherForms = decCurrency;
             if (frmExchangeRateObj != null)
             {
                 this.Close();
             }
         }
         else
         {
             Messages.InformationMessage("Currency name already exist");
             txtName.Focus();
         }
     }
     catch (Exception ex)
     {
         formMDI.infoError.ErrorString = "C1:" + ex.Message;
     }
 }
Пример #5
0
 /// <summary>
 /// Function to fill Datagridview
 /// </summary>
 public void Gridfill()
 {
     try
     {
         if (!isFormLoad)
         {
             DateValidation objValidation = new DateValidation();
             objValidation.DateValidationFunction(txtFromDate);
             if (txtFromDate.Text == string.Empty)
             {
                 txtFromDate.Text = PublicVariables._dtFromDate.ToString("dd-MMM-yyyy");
             }
             objValidation.DateValidationFunction(txtToDate);
             if (txtToDate.Text == string.Empty)
             {
                 txtToDate.Text = PublicVariables._dtToDate.ToString("dd-MMM-yyyy");
             }
             Font         newFont      = new Font(dgvProfitAndLoss.Font, FontStyle.Bold);
             CurrencyInfo InfoCurrency = new CurrencyInfo();
             CurrencySP   SpCurrency   = new CurrencySP();
             InfoCurrency = SpCurrency.CurrencyView(1);
             int inDecimalPlaces = InfoCurrency.NoOfDecimalPlaces;
             dgvProfitAndLoss.Rows.Clear();
             FinancialStatementSP spFinancial   = new FinancialStatementSP();
             DataTable            dtblFinancial = new DataTable();
             DataSet      DsetProfitAndLoss     = new DataSet();
             SettingsInfo infoSettings          = new SettingsInfo();
             SettingsSP   SpSettings            = new SettingsSP();
             //---------check  calculation method
             if (SpSettings.SettingsStatusCheck("StockValueCalculationMethod") == "FIFO")
             {
                 calculationMethod = "FIFO";
             }
             else if (SpSettings.SettingsStatusCheck("StockValueCalculationMethod") == "Average Cost")
             {
                 calculationMethod = "Average Cost";
             }
             else if (SpSettings.SettingsStatusCheck("StockValueCalculationMethod") == "High Cost")
             {
                 calculationMethod = "High Cost";
             }
             else if (SpSettings.SettingsStatusCheck("StockValueCalculationMethod") == "Low Cost")
             {
                 calculationMethod = "Low Cost";
             }
             else if (SpSettings.SettingsStatusCheck("StockValueCalculationMethod") == "Last Purchase Rate")
             {
                 calculationMethod = "Last Purchase Rate";
             }
             DsetProfitAndLoss = spFinancial.ProfitAndLossAnalysis(DateTime.Parse(txtFromDate.Text), DateTime.Parse(txtToDate.Text));
             //---- Opening Stock
             dgvProfitAndLoss.Rows.Add();
             decimal dcOpeningStock = spFinancial.StockValueGetOnDate(DateTime.Parse(txtFromDate.Text), DateTime.Parse(txtToDate.Text), calculationMethod, true, false);
             dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtExpenses"].Value = "Opening Stock";
             if (dcOpeningStock > 0)
             {
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtAmount1"].Value = Math.Round(dcOpeningStock, inDecimalPlaces);
             }
             else
             {
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtAmount1"].Value = -(Math.Round(dcOpeningStock, inDecimalPlaces));
             }
             //Closing Stock
             decimal dcClosingStock = 0;
             dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtIncome"].Value = "Closing Stock";
             dcClosingStock = spFinancial.StockValueGetOnDate(DateTime.Parse(txtToDate.Text), calculationMethod, false, false);
             dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtAmount2"].Value = Math.Round(dcClosingStock, inDecimalPlaces);
             /// ---Purchase Account  - Debit
             dtblFinancial = new DataTable();
             dtblFinancial = DsetProfitAndLoss.Tables[0];
             dgvProfitAndLoss.Rows.Add();
             dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtExpenses"].Value = "Purchase Accounts";
             decimal dcPurchaseAccount = 0m;
             if (dtblFinancial.Rows.Count > 0)
             {
                 foreach (DataRow rw in dtblFinancial.Rows)
                 {
                     decimal dcBalance = decimal.Parse(rw["Debit"].ToString().ToString());
                     dcPurchaseAccount += dcBalance;
                 }
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtGroupId1"].Value = "11";
             }
             dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtAmount1"].Value = dcPurchaseAccount.ToString();
             //---Sales Account  -Credit
             dtblFinancial = new DataTable();
             dtblFinancial = DsetProfitAndLoss.Tables[1];
             dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtIncome"].Value = "Sales Accounts";
             decimal dcSalesAccount = 0m;
             if (dtblFinancial.Rows.Count > 0)
             {
                 foreach (DataRow rw in dtblFinancial.Rows)
                 {
                     decimal dcBalance = decimal.Parse(rw["Credit"].ToString().ToString());
                     dcSalesAccount += dcBalance;
                 }
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtGroupId2"].Value = "10";
             }
             dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtAmount2"].Value = dcSalesAccount.ToString();
             dgvProfitAndLoss.Rows.Add();
             dgvProfitAndLoss.Rows.Add();
             //---Direct Expense
             dtblFinancial = new DataTable();
             dtblFinancial = DsetProfitAndLoss.Tables[2];
             dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtExpenses"].Value = "Direct Expenses";
             decimal dcDirectExpense = 0m;
             if (dtblFinancial.Rows.Count > 0)
             {
                 foreach (DataRow rw in dtblFinancial.Rows)
                 {
                     decimal dcBalance = Convert.ToDecimal(rw["Debit"].ToString());
                     dcDirectExpense += dcBalance;
                 }
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtGroupId1"].Value = "13";
             }
             dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtAmount1"].Value = dcDirectExpense.ToString();
             //----Direct Income
             dtblFinancial = new DataTable();
             dtblFinancial = DsetProfitAndLoss.Tables[3];
             dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtIncome"].Value = "Direct Incomes";
             decimal dcDirectIncoome = 0m;
             if (dtblFinancial.Rows.Count > 0)
             {
                 foreach (DataRow rw in dtblFinancial.Rows)
                 {
                     decimal dcBalance = Convert.ToDecimal(rw["Credit"].ToString());
                     dcDirectIncoome += dcBalance;
                 }
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtGroupId2"].Value = "12";
             }
             dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtAmount2"].Value = dcDirectIncoome.ToString();
             dgvProfitAndLoss.Rows.Add();
             dgvProfitAndLoss.Rows.Add();
             dgvProfitAndLoss.Rows.Add();
             dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtAmount1"].Value = "_______________________";
             dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtAmount2"].Value = "_______________________";
             dgvProfitAndLoss.Rows.Add();
             decimal dcTotalExpense = 0;
             decimal dcTotalIncome  = 0;
             dcTotalExpense = dcOpeningStock + dcPurchaseAccount + dcDirectExpense;
             dcTotalIncome  = dcClosingStock + dcSalesAccount + dcDirectIncoome;
             dcTotalExpense = Math.Round(dcTotalExpense, inDecimalPlaces);
             dcTotalIncome  = Math.Round(dcTotalIncome, inDecimalPlaces);
             dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].DefaultCellStyle.Font         = newFont;
             dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtExpenses"].Value = "Total";
             dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtIncome"].Value   = "Total";
             decimal dcGrossProfit = 0;
             decimal dcGrossLoss   = 0;
             if (dcTotalExpense > dcTotalIncome)
             {
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtAmount1"].Value           = dcTotalExpense.ToString();
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtAmount2"].Value           = dcTotalExpense.ToString();
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 3].Cells["dgvtxtIncome"].Value            = "Gross Loss b/d ";
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 3].Cells["dgvtxtAmount2"].Value           = dcTotalExpense - dcTotalIncome;
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 3].Cells["dgvtxtAmount2"].Style.ForeColor = Color.Red;
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 3].Cells["dgvtxtIncome"].Style.ForeColor  = Color.Red;
                 dgvProfitAndLoss.Rows.Add();
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtExpenses"].Value = "Gross Loss b/d ";
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtAmount1"].Value  = dcTotalExpense - dcTotalIncome;
                 dcGrossLoss = dcTotalExpense - dcTotalIncome;
             }
             else
             {
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtAmount1"].Value            = dcTotalIncome.ToString();
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtAmount2"].Value            = dcTotalIncome.ToString();
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 3].Cells["dgvtxtExpenses"].Value           = "Gross Profit c/d ";
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 3].Cells["dgvtxtAmount1"].Value            = dcTotalIncome - dcTotalExpense;
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 3].Cells["dgvtxtAmount1"].Style.ForeColor  = Color.Green;
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 3].Cells["dgvtxtExpenses"].Style.ForeColor = Color.Green;
                 dgvProfitAndLoss.Rows.Add();
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtIncome"].Value  = "Gross Profit c/d ";
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtAmount2"].Value = dcTotalIncome - dcTotalExpense;
                 dcGrossProfit = dcTotalIncome - dcTotalExpense;
             }
             dgvProfitAndLoss.Rows.Add();
             ///------Indirect Expense
             dtblFinancial = new DataTable();
             dtblFinancial = DsetProfitAndLoss.Tables[4];
             dgvProfitAndLoss.Rows.Add();
             dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtExpenses"].Value = "Indirect Expenses";
             decimal dcIndirectExpense = 0;
             if (dtblFinancial.Rows.Count > 0)
             {
                 foreach (DataRow rw in dtblFinancial.Rows)
                 {
                     decimal dcBalance = Convert.ToDecimal(rw["Debit"].ToString());
                     dcIndirectExpense += dcBalance;
                 }
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtGroupId1"].Value = "15";
             }
             dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtAmount1"].Value = dcIndirectExpense.ToString();
             ///---Indirect Income
             dtblFinancial = new DataTable();
             dtblFinancial = DsetProfitAndLoss.Tables[5];
             dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtIncome"].Value = "Indirect Incomes";
             decimal dcIndirectIncome = 0m;
             if (dtblFinancial.Rows.Count > 0)
             {
                 foreach (DataRow rw in dtblFinancial.Rows)
                 {
                     decimal dcBalance = Convert.ToDecimal(rw["Credit"].ToString());
                     dcIndirectIncome += dcBalance;
                 }
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtGroupId2"].Value = "14";
             }
             dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtAmount2"].Value = dcIndirectIncome.ToString();
             //---- Calculating Grand total
             decimal dcGrandTotalExpense = dcGrossLoss + dcIndirectExpense;
             decimal dcGrandTotalIncome  = dcGrossProfit + dcIndirectIncome;
             dgvProfitAndLoss.Rows.Add();
             dgvProfitAndLoss.Rows.Add();
             dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtAmount1"].Value = "_______________________";
             dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtAmount2"].Value = "_______________________";
             dgvProfitAndLoss.Rows.Add();
             dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtExpenses"].Value = "Grand Total";
             dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtIncome"].Value   = "Grand Total";
             dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].DefaultCellStyle.Font         = newFont;
             if (dcGrandTotalExpense > dcGrandTotalIncome)
             {
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtAmount1"].Value           = dcGrandTotalExpense.ToString();
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtAmount2"].Value           = dcGrandTotalExpense.ToString();
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 3].Cells["dgvtxtIncome"].Value            = "Net Loss ";
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 3].Cells["dgvtxtAmount2"].Value           = dcGrandTotalExpense - dcGrandTotalIncome;
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 3].Cells["dgvtxtIncome"].Style.ForeColor  = Color.Red;
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 3].Cells["dgvtxtAmount2"].Style.ForeColor = Color.Red;
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 3].DefaultCellStyle.Font = newFont;
                 decgranExTotal = dcGrandTotalExpense;
             }
             else
             {
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtAmount1"].Value            = dcGrandTotalIncome.ToString();
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 1].Cells["dgvtxtAmount2"].Value            = dcGrandTotalIncome.ToString();
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 3].Cells["dgvtxtExpenses"].Value           = "Net Profit";
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 3].Cells["dgvtxtAmount1"].Value            = dcGrandTotalIncome - dcGrandTotalExpense;
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 3].Cells["dgvtxtExpenses"].Style.ForeColor = Color.Green;
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 3].Cells["dgvtxtAmount1"].Style.ForeColor  = Color.Green;
                 dgvProfitAndLoss.Rows[dgvProfitAndLoss.Rows.Count - 3].DefaultCellStyle.Font = newFont;
                 decgranIncTotal = dcGrandTotalIncome;
             }
             if (dgvProfitAndLoss.Columns.Count > 0)
             {
                 dgvProfitAndLoss.Columns["dgvtxtAmount1"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
                 dgvProfitAndLoss.Columns["dgvtxtAmount2"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
             }
             if (inCurrenRowIndex >= 0 && dgvProfitAndLoss.Rows.Count > 0 && inCurrenRowIndex < dgvProfitAndLoss.Rows.Count)
             {
                 if (dgvProfitAndLoss.Rows[inCurrenRowIndex].Cells[inCurrentColunIndex].Visible)
                 {
                     dgvProfitAndLoss.CurrentCell = dgvProfitAndLoss.Rows[inCurrenRowIndex].Cells[inCurrentColunIndex];
                 }
                 else
                 {
                     dgvProfitAndLoss.CurrentCell = dgvProfitAndLoss.Rows[inCurrenRowIndex].Cells["dgvtxtExpenses"];
                 }
                 dgvProfitAndLoss.CurrentCell.Selected = true;
             }
             inCurrenRowIndex = 0;
         }
     }
     catch (Exception ex)
     {
         formMDI.infoError.ErrorString = "PAL1:" + ex.Message;
     }
 }
Пример #6
0
        /// <summary>
        /// Function to return amount in words
        /// </summary>
        /// <param name="decAmount"></param>
        /// <param name="decCurrId"></param>
        /// <returns></returns>
        public string AmountWords(decimal decAmount, decimal decCurrId)
        {
            string       AountInWords = string.Empty; // To return the amount in words
            CurrencyInfo currencyInfo = new CurrencySP().CurrencyView(decCurrId);

            decAmount = Math.Round(decAmount, currencyInfo.NoOfDecimalPlaces); //Rounding according to decimal places of currency
            string strAmount = decAmount.ToString();                           // Just keeping the whole amount as string for performing split operation on it
            string strAmountinwordsOfIntiger = string.Empty;                   // To hold amount in words of intiger
            string strAmountInWordsOfDecimal = string.Empty;                   // To hold amoutn in words of decimal part

            string[] strPartsArray = strAmount.Split('.');                     // Splitting with "." to get intiger part and decimal part seperately
            string   strDecimaPart = string.Empty;                             // To hold decimal part

            if (strPartsArray.Length > 1)
            {
                if (strPartsArray[1] != null)
                {
                    strDecimaPart = strPartsArray[1]; // Holding decimal portion if any
                }
            }
            if (strPartsArray[0] != null)
            {
                strAmount = strPartsArray[0];    // Holding intiger part of amount
            }
            else
            {
                strAmount = string.Empty;
            };
            if (strAmount.Trim() != string.Empty && decimal.Parse(strAmount) != 0)
            {
                strAmountinwordsOfIntiger = NumberToText(long.Parse(strAmount));
            }
            if (strDecimaPart.Trim() != string.Empty && decimal.Parse(strDecimaPart) != 0)
            {
                strAmountInWordsOfDecimal = NumberToText(long.Parse(strDecimaPart));
            }
            SettingsSP spSettings = new SettingsSP();
            if (spSettings.SettingsStatusCheck("ShowCurrencySymbol") != "Yes")
            {
                // Showing currency as suffix
                if (strAmountinwordsOfIntiger != string.Empty)
                {
                    AountInWords = strAmountinwordsOfIntiger + " " + currencyInfo.CurrencyName;
                }
                if (strAmountInWordsOfDecimal != string.Empty)
                {
                    AountInWords = AountInWords + " and " + strAmountInWordsOfDecimal + " " + currencyInfo.SubunitName;
                }
                AountInWords = AountInWords + " only";
            }
            else
            {
                // Showing currency as prefix
                if (strAmountinwordsOfIntiger != string.Empty)
                {
                    AountInWords = currencyInfo.CurrencyName + " " + strAmountinwordsOfIntiger;
                }
                if (strAmountInWordsOfDecimal != string.Empty)
                {
                    AountInWords = AountInWords + " and " + currencyInfo.SubunitName + " " + strAmountInWordsOfDecimal;
                }
                AountInWords = AountInWords + " only";
            }
            return(AountInWords);
        }
Пример #7
0
        /// <summary>
        /// Function to fill Datagridview
        /// </summary>
        public void FillGrid()
        {
            try
            {
                if (!isFormLoad)
                {
                    DateValidation objValidation = new DateValidation();
                    objValidation.DateValidationFunction(txtToDate);
                    if (txtToDate.Text == string.Empty)
                    {
                        txtToDate.Text = PublicVariables._dtToDate.ToString("dd-MMM-yyyy");
                    }
                    Font         newFont      = new Font(dgvReport.Font, FontStyle.Bold);
                    CurrencyInfo InfoCurrency = new CurrencyInfo();
                    CurrencySP   SpCurrency   = new CurrencySP();
                    InfoCurrency = SpCurrency.CurrencyView(1);
                    int inDecimalPlaces = InfoCurrency.NoOfDecimalPlaces;
                    dgvReport.Rows.Clear();
                    FinancialStatementSP SpFinance = new FinancialStatementSP();
                    DataSet      DsetBalanceSheet  = new DataSet();
                    DataTable    dtbl         = new DataTable();
                    SettingsInfo InfoSettings = new SettingsInfo();
                    SettingsSP   SpSettings   = new SettingsSP();
                    //--------------- Selection Of Calculation Method According To Settings ------------------//
                    if (SpSettings.SettingsStatusCheck("StockValueCalculationMethod") == "FIFO")
                    {
                        calculationMethod = "FIFO";
                    }
                    else if (SpSettings.SettingsStatusCheck("StockValueCalculationMethod") == "Average Cost")
                    {
                        calculationMethod = "Average Cost";
                    }
                    else if (SpSettings.SettingsStatusCheck("StockValueCalculationMethod") == "High Cost")
                    {
                        calculationMethod = "High Cost";
                    }
                    else if (SpSettings.SettingsStatusCheck("StockValueCalculationMethod") == "Low Cost")
                    {
                        calculationMethod = "Low Cost";
                    }
                    else if (SpSettings.SettingsStatusCheck("StockValueCalculationMethod") == "Last Purchase Rate")
                    {
                        calculationMethod = "Last Purchase Rate";
                    }

                    int     LiabilityRow     = 0;
                    int     AssetRow         = 0;
                    decimal TotalAssets      = 0;
                    decimal TotalLiabilities = 0;
                    decimal OpeningStock     = SpFinance.StockValueGetOnDate(Convert.ToDateTime(txtToDate.Text), calculationMethod, true, true);
                    OpeningStock     = Math.Round(OpeningStock, inDecimalPlaces);
                    DsetBalanceSheet = SpFinance.BalanceSheet(PublicVariables._dtFromDate, DateTime.Parse(txtToDate.Text));
                    //------------------- Asset -------------------------------//
                    dtbl = DsetBalanceSheet.Tables[0];
                    foreach (DataRow rw in dtbl.Rows)
                    {
                        dgvReport.Rows.Add();
                        decimal balance = (rw["ID"].ToString() == "6") ? Convert.ToDecimal(rw["Balance"].ToString()) + OpeningStock : Convert.ToDecimal(rw["Balance"].ToString());
                        if (balance > 0)
                        {
                            dgvReport.Rows[AssetRow].Cells["dgvtxtAsset"].Value = rw["Name"].ToString();
                            dgvReport.Rows[AssetRow].Cells["Amount1"].Value     = balance.ToString("N2");
                            dgvReport.Rows[AssetRow].Cells["GroupId1"].Value    = rw["ID"].ToString();
                            TotalAssets += balance;
                            AssetRow++;
                        }
                        else
                        {
                            balance = balance * -1;
                            dgvReport.Rows.Add();
                            dgvReport.Rows[LiabilityRow].Cells["dgvtxtLiability"].Value = rw["Name"].ToString();
                            dgvReport.Rows[LiabilityRow].Cells["Amount2"].Value         = balance.ToString("N2");
                            dgvReport.Rows[LiabilityRow].Cells["GroupId2"].Value        = rw["ID"].ToString();
                            TotalLiabilities += balance;
                            LiabilityRow++;
                        }
                    }

                    //------------------------ Liability ---------------------//
                    dtbl = DsetBalanceSheet.Tables[1];
                    foreach (DataRow rw in dtbl.Rows)
                    {
                        decimal balance = Convert.ToDecimal(rw["Balance"].ToString());
                        if (balance < 0)
                        {
                            balance = balance * -1;
                            dgvReport.Rows.Add();
                            dgvReport.Rows[AssetRow].Cells["dgvtxtAsset"].Value = rw["Name"].ToString();
                            dgvReport.Rows[AssetRow].Cells["Amount1"].Value     = balance.ToString("N2");
                            dgvReport.Rows[AssetRow].Cells["GroupId1"].Value    = rw["ID"].ToString();
                            TotalAssets += balance;
                            AssetRow++;
                        }
                        else
                        {
                            dgvReport.Rows.Add();
                            dgvReport.Rows[LiabilityRow].Cells["dgvtxtLiability"].Value = rw["Name"].ToString();
                            dgvReport.Rows[LiabilityRow].Cells["Amount2"].Value         = balance.ToString("N2");
                            dgvReport.Rows[LiabilityRow].Cells["GroupId2"].Value        = rw["ID"].ToString();
                            TotalLiabilities += balance;
                            LiabilityRow++;
                        }
                    }

                    //---------------------Closing Stock---------------------------------------------------------------------------------------------------------------

                    decimal ClosingStock = SpFinance.StockValueGetOnDate(Convert.ToDateTime(txtToDate.Text), calculationMethod, false, false);
                    ClosingStock = Math.Round(ClosingStock, inDecimalPlaces) - OpeningStock;
                    if (ClosingStock != 0)
                    {
                        if (ClosingStock > 0)
                        {
                            dgvReport.Rows.Add();
                            dgvReport.Rows[AssetRow].Cells["dgvtxtAsset"].Value = "Closing Stock";
                            dgvReport.Rows[AssetRow].Cells["Amount1"].Value     = ClosingStock.ToString("N2");
                            TotalAssets += ClosingStock;
                            AssetRow++;
                        }
                        else
                        {
                            ClosingStock = ClosingStock * -1;
                            dgvReport.Rows.Add();
                            dgvReport.Rows[LiabilityRow].Cells["dgvtxtLiability"].Value = "Closing Stock";
                            dgvReport.Rows[LiabilityRow].Cells["Amount2"].Value         = ClosingStock.ToString("N2");
                            TotalLiabilities += ClosingStock;
                            LiabilityRow++;
                        }
                    }

                    if (AssetRow > LiabilityRow)
                    {
                        LiabilityRow = AssetRow;
                    }
                    else
                    {
                        AssetRow = LiabilityRow;
                    }
                    //---------------------Profit And Loss---------------------------------------------------------------------------------------------------------------

                    DataSet dsetProfitAndLoss = SpFinance.ProfitAndLossAnalysisUpToaDateForBalansheet(PublicVariables._dtFromDate, DateTime.Parse(txtToDate.Text));
                    decimal dcProfit          = 0;
                    for (int i = 0; i < dsetProfitAndLoss.Tables.Count; ++i)
                    {
                        dtbl = dsetProfitAndLoss.Tables[i];
                        decimal dcSum = 0;
                        if (i == 0 || (i % 2) == 0)
                        {
                            if (dtbl.Rows.Count > 0)
                            {
                                dcSum    = decimal.Parse(dtbl.Compute("Sum(Debit)", string.Empty).ToString());
                                dcProfit = dcProfit - dcSum;
                            }
                        }
                        else
                        {
                            if (dtbl.Rows.Count > 0)
                            {
                                dcSum    = decimal.Parse(dtbl.Compute("Sum(Credit)", string.Empty).ToString());
                                dcProfit = dcProfit + dcSum;
                            }
                        }
                    }

                    DataSet dsetProfitAndLossOpening = SpFinance.ProfitAndLossAnalysisUpToaDateForPreviousYears(PublicVariables._dtFromDate);
                    decimal dcProfitOpening          = 0;
                    for (int i = 0; i < dsetProfitAndLossOpening.Tables.Count; ++i)
                    {
                        dtbl = dsetProfitAndLossOpening.Tables[i];
                        decimal dcSum = 0;
                        if (i == 0 || (i % 2) == 0)
                        {
                            if (dtbl.Rows.Count > 0)
                            {
                                dcSum           = decimal.Parse(dtbl.Compute("Sum(Debit)", string.Empty).ToString());
                                dcProfitOpening = dcProfitOpening - dcSum;
                            }
                        }
                        else
                        {
                            if (dtbl.Rows.Count > 0)
                            {
                                dcSum           = decimal.Parse(dtbl.Compute("Sum(Credit)", string.Empty).ToString());
                                dcProfitOpening = dcProfitOpening + dcSum;
                            }
                        }
                    }

                    decimal decProfitLedgerOpening = decimal.Parse(DsetBalanceSheet.Tables[3].Compute("Sum(Balance)", string.Empty).ToString());

                    decimal decTotalProfitAndLoss = decimal.Parse(DsetBalanceSheet.Tables[2].Compute("Sum(Balance)", string.Empty).ToString());

                    decimal decCurrentProfitLoss         = dcProfit + ClosingStock;
                    decimal decOpeningOfProfitAndLoss    = decProfitLedgerOpening + dcProfitOpening;
                    decimal decTotalProfitAndLossOverAll = decTotalProfitAndLoss + decOpeningOfProfitAndLoss + decCurrentProfitLoss;
                    decTotalProfitAndLoss     = (decTotalProfitAndLoss < 0) ? decTotalProfitAndLoss * -1 : decTotalProfitAndLoss;
                    decOpeningOfProfitAndLoss = (decOpeningOfProfitAndLoss < 0) ? decOpeningOfProfitAndLoss * -1 : decOpeningOfProfitAndLoss;
                    decCurrentProfitLoss      = (decCurrentProfitLoss < 0) ? decCurrentProfitLoss * -1 : decCurrentProfitLoss;

                    if (decTotalProfitAndLossOverAll >= 0)
                    {
                        dgvReport.Rows.Add();
                        dgvReport.Rows[AssetRow].Cells["dgvtxtAsset"].Value = "----------------------------------------";
                        dgvReport.Rows[AssetRow].DefaultCellStyle.Font      = newFont;
                        AssetRow++;
                        foreach (DataRow dRow in DsetBalanceSheet.Tables[2].Rows)
                        {
                            if (dRow["Name"].ToString() == "Profit And Loss Account")
                            {
                                dgvReport.Rows.Add();
                                dgvReport.Rows[AssetRow].DefaultCellStyle.Font      = newFont;
                                dgvReport.Rows[AssetRow].DefaultCellStyle.ForeColor = Color.DarkSlateGray;
                                dgvReport.Rows[AssetRow].Cells["dgvtxtAsset"].Value = dRow["Name"].ToString();
                                dgvReport.Rows[AssetRow].Cells["Amount1"].Value     = Math.Round(decTotalProfitAndLoss + decCurrentProfitLoss, PublicVariables._inNoOfDecimalPlaces).ToString("N2");
                                dgvReport.Rows[AssetRow].Cells["GroupId1"].Value    = dRow["ID"].ToString();
                                AssetRow++;
                            }
                        }
                        //-------------- Asset ---------------//
                        dgvReport.Rows.Add();
                        dgvReport.Rows[AssetRow].DefaultCellStyle.Font                = newFont;
                        dgvReport.Rows[AssetRow].Cells["dgvtxtAsset"].Value           = "Profit And Loss (Opening)";
                        dgvReport.Rows[AssetRow].Cells["Amount1"].Value               = Math.Round(decTotalProfitAndLoss, PublicVariables._inNoOfDecimalPlaces).ToString("N2");
                        dgvReport.Rows[AssetRow].Cells["Amount1"].Style.ForeColor     = Color.DarkSlateGray;
                        dgvReport.Rows[AssetRow].Cells["dgvtxtAsset"].Style.ForeColor = Color.DarkSlateGray;
                        AssetRow++;
                        //-------------- Asset ---------------//
                        dgvReport.Rows.Add();
                        dgvReport.Rows[AssetRow].DefaultCellStyle.Font                = newFont;
                        dgvReport.Rows[AssetRow].Cells["dgvtxtAsset"].Value           = "Current Period";
                        dgvReport.Rows[AssetRow].Cells["Amount1"].Value               = Math.Round(decCurrentProfitLoss, PublicVariables._inNoOfDecimalPlaces).ToString("N2");
                        dgvReport.Rows[AssetRow].Cells["Amount1"].Style.ForeColor     = Color.DarkSlateGray;
                        dgvReport.Rows[AssetRow].Cells["dgvtxtAsset"].Style.ForeColor = Color.DarkSlateGray;
                        AssetRow++;
                        TotalAssets = TotalAssets + (decCurrentProfitLoss + decTotalProfitAndLoss);
                        dgvReport.Rows.Add();
                        dgvReport.Rows[AssetRow].Cells["dgvtxtAsset"].Value = "----------------------------------------";
                        dgvReport.Rows[AssetRow].DefaultCellStyle.Font      = newFont;
                        AssetRow++;
                    }
                    else
                    {
                        dgvReport.Rows.Add();
                        dgvReport.Rows[LiabilityRow].Cells["dgvtxtLiability"].Value = "----------------------------------------";
                        dgvReport.Rows[LiabilityRow].DefaultCellStyle.Font          = newFont;
                        LiabilityRow++;
                        foreach (DataRow dRow in DsetBalanceSheet.Tables[2].Rows)
                        {
                            if (dRow["Name"].ToString() == "Profit And Loss Account")
                            {
                                dgvReport.Rows.Add();
                                dgvReport.Rows[LiabilityRow].DefaultCellStyle.Font          = newFont;
                                dgvReport.Rows[LiabilityRow].DefaultCellStyle.ForeColor     = Color.DarkSlateGray;
                                dgvReport.Rows[LiabilityRow].Cells["dgvtxtLiability"].Value = dRow[1].ToString();
                                dgvReport.Rows[LiabilityRow].Cells["Amount2"].Value         = Math.Round(decTotalProfitAndLoss + decCurrentProfitLoss, PublicVariables._inNoOfDecimalPlaces).ToString("N2");
                                dgvReport.Rows[LiabilityRow].Cells["GroupId2"].Value        = dRow[0].ToString();
                                LiabilityRow++;
                            }
                        }
                        //------------ Liability ------------//
                        dgvReport.Rows.Add();
                        dgvReport.Rows[LiabilityRow].DefaultCellStyle.Font                    = newFont;
                        dgvReport.Rows[LiabilityRow].Cells["dgvtxtLiability"].Value           = "Profit And Loss (Opening)";
                        dgvReport.Rows[LiabilityRow].Cells["Amount2"].Value                   = Math.Round(decTotalProfitAndLoss, inDecimalPlaces).ToString("N2");
                        dgvReport.Rows[LiabilityRow].Cells["Amount2"].Style.ForeColor         = Color.DarkSlateGray;
                        dgvReport.Rows[LiabilityRow].Cells["dgvtxtLiability"].Style.ForeColor = Color.DarkSlateGray;
                        TotalLiabilities += decOpeningOfProfitAndLoss;
                        LiabilityRow++;
                        //------------ Liability ------------//
                        dgvReport.Rows.Add();
                        dgvReport.Rows[LiabilityRow].DefaultCellStyle.Font                    = newFont;
                        dgvReport.Rows[LiabilityRow].Cells["dgvtxtLiability"].Value           = "Current Period";
                        dgvReport.Rows[LiabilityRow].Cells["Amount2"].Value                   = Math.Round(decCurrentProfitLoss, inDecimalPlaces).ToString("N2");
                        dgvReport.Rows[LiabilityRow].Cells["Amount2"].Style.ForeColor         = Color.DarkSlateGray;
                        dgvReport.Rows[LiabilityRow].Cells["dgvtxtLiability"].Style.ForeColor = Color.DarkSlateGray;
                        TotalLiabilities = TotalLiabilities + (decCurrentProfitLoss + decTotalProfitAndLoss); //dcProfit;
                        LiabilityRow++;
                        dgvReport.Rows.Add();
                        dgvReport.Rows[LiabilityRow].Cells["dgvtxtLiability"].Value = "----------------------------------------";
                        dgvReport.Rows[LiabilityRow].DefaultCellStyle.Font          = newFont;
                        LiabilityRow++;
                    }
                    if (AssetRow > LiabilityRow)
                    {
                        LiabilityRow = AssetRow;
                    }
                    else
                    {
                        AssetRow = LiabilityRow;
                    }
                    dgvReport.Rows.Add();
                    decimal dcDiffAsset     = 0;
                    decimal dcDiffLiability = 0;

                    LiabilityRow++;
                    AssetRow++;

                    if (TotalAssets > TotalLiabilities)
                    {
                        //--------------- Liability exceeds so in asset side ----------------//
                        dgvReport.Rows.Add();
                        dgvReport.Rows[LiabilityRow].Cells["dgvtxtLiability"].Value = "Difference";
                        dgvReport.Rows[LiabilityRow].Cells["Amount2"].Value         = Math.Round((TotalAssets - TotalLiabilities), inDecimalPlaces).ToString("N2");
                        dgvReport.Rows[LiabilityRow].DefaultCellStyle.Font          = newFont;
                        dgvReport.Rows[LiabilityRow].DefaultCellStyle.ForeColor     = Color.DarkRed;
                        dcDiffLiability = TotalAssets - TotalLiabilities;
                        LiabilityRow++;
                    }
                    else
                    {
                        //--------------- Asset exceeds so in liability side ----------------//
                        dgvReport.Rows.Add();
                        dgvReport.Rows[AssetRow].Cells["dgvtxtAsset"].Value = "Difference";
                        dgvReport.Rows[AssetRow].Cells["Amount1"].Value     = Math.Round((TotalLiabilities - TotalAssets), inDecimalPlaces).ToString("N2");
                        dgvReport.Rows[AssetRow].DefaultCellStyle.Font      = newFont;
                        dgvReport.Rows[AssetRow].DefaultCellStyle.ForeColor = Color.DarkRed;
                        dcDiffAsset = TotalLiabilities - TotalAssets;
                        AssetRow++;
                    }
                    if (AssetRow > LiabilityRow)
                    {
                        LiabilityRow = AssetRow;
                    }
                    else
                    {
                        AssetRow = LiabilityRow;
                    }
                    dgvReport.Rows.Add();
                    dgvReport.Rows.Add();
                    AssetRow++;
                    dgvReport.Rows[AssetRow].Cells["Amount1"].Value = "________________________";
                    dgvReport.Rows[AssetRow].Cells["Amount2"].Value = "________________________";
                    dgvReport.Rows.Add();
                    AssetRow++;
                    dgvReport.Rows[AssetRow].DefaultCellStyle.Font          = newFont;
                    dgvReport.Rows[AssetRow].Cells["dgvtxtLiability"].Value = "Total";
                    dgvReport.Rows[AssetRow].Cells["dgvtxtAsset"].Value     = "Total";
                    dgvReport.Rows[AssetRow].Cells["Amount1"].Value         = Math.Round((TotalAssets + dcDiffAsset), inDecimalPlaces).ToString("N2");
                    dgvReport.Rows[AssetRow].Cells["Amount2"].Value         = Math.Round((TotalLiabilities + dcDiffLiability), inDecimalPlaces).ToString("N2");
                    LiabilityRow++;
                    if (dgvReport.Columns.Count > 0)
                    {
                        dgvReport.Columns["Amount1"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
                        dgvReport.Columns["Amount2"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
                    }
                    decPrintOrNot  = TotalAssets + dcDiffAsset;
                    decPrintOrNot1 = TotalLiabilities + dcDiffLiability;
                    if (inCurrenRowIndex >= 0 && dgvReport.Rows.Count > 0 && inCurrenRowIndex < dgvReport.Rows.Count)
                    {
                        if (dgvReport.Rows[inCurrenRowIndex].Cells[inCurentcolIndex].Visible)
                        {
                            dgvReport.CurrentCell = dgvReport.Rows[inCurrenRowIndex].Cells[inCurentcolIndex];
                        }
                        if (dgvReport.CurrentCell != null && dgvReport.CurrentCell.Visible)
                        {
                            dgvReport.CurrentCell.Selected = true;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                formMDI.infoError.ErrorString = "BS1:" + ex.Message;
            }
        }
Пример #8
0
        /// <summary>
        /// Function to fill Datagridview
        /// </summary>
        public void GridFill()
        {
            try
            {
                if (!isFormLoad)
                {
                    DateValidation objValidation = new DateValidation();
                    objValidation.DateValidationFunction(txtFromDate);
                    if (txtFromDate.Text == string.Empty)
                    {
                        txtFromDate.Text = PublicVariables._dtFromDate.ToString("dd-MMM-yyyy");
                    }
                    objValidation.DateValidationFunction(txttoDate);
                    if (txttoDate.Text == string.Empty)
                    {
                        txttoDate.Text = PublicVariables._dtToDate.ToString("dd-MMM-yyyy");
                    }
                    DateTime             strFromDate = DateTime.Parse(txtFromDate.Text.ToString());
                    DateTime             strTodate   = DateTime.Parse(txttoDate.Text.ToString());
                    FinancialStatementSP spFinancial = new FinancialStatementSP();
                    DataSet      dsetFinancial       = new DataSet();
                    SettingsInfo InfoSettings        = new SettingsInfo();
                    SettingsSP   SpSettings          = new SettingsSP();
                    dsetFinancial = spFinancial.CashFlow(strFromDate, strTodate);
                    DataTable    dtbl         = new DataTable();
                    Font         newFont      = new Font(dgvCashflow.Font, FontStyle.Bold);
                    CurrencyInfo InfoCurrency = new CurrencyInfo();
                    CurrencySP   SpCurrency   = new CurrencySP();
                    InfoCurrency = SpCurrency.CurrencyView(1);
                    int inDecimalPlaces = InfoCurrency.NoOfDecimalPlaces;
                    dgvCashflow.Rows.Clear();

                    for (int i = 0; i < 8; i++)
                    {
                        dtbl = dsetFinancial.Tables[i];
                        foreach (DataRow rw in dtbl.Rows)
                        {
                            dgvCashflow.Rows.Add();
                            dgvCashflow.Rows[dgvCashflow.Rows.Count - 1].Cells["dgvtxtParticulars"].Value = rw["accountGroupName"].ToString();
                            dgvCashflow.Rows[dgvCashflow.Rows.Count - 1].Cells["dgvtxtinflow"].Value      = rw["Balance"].ToString();
                            dgvCashflow.Rows[dgvCashflow.Rows.Count - 1].Cells["dgvtxtID1"].Value         = rw["accountGroupId"].ToString();
                        }
                    }
                    //-------------------------------Calculating TotalInflow-----------------------------------------
                    decimal dcTotalInflow = 0m;
                    if (dtbl.Rows.Count > 0)
                    {
                        for (int i = 0; i < dgvCashflow.Rows.Count; i++)
                        {
                            decimal dcTotalIn = decimal.Parse(dgvCashflow.Rows[i].Cells["dgvtxtinflow"].Value.ToString());
                            dcTotalInflow += dcTotalIn;
                        }
                        dcTotInflow = dcTotalInflow;
                    }
                    //-----------------Outflow------------------------------
                    int index = 0;
                    for (int i = 8; i < 15; i++)
                    {
                        dtbl = new DataTable();
                        dtbl = dsetFinancial.Tables[i];
                        foreach (DataRow rw in dtbl.Rows)
                        {
                            if (index < dgvCashflow.Rows.Count)
                            {
                                dgvCashflow.Rows[index].Cells["dgvtxtParticulars1"].Value = rw["accountGroupName1"].ToString();
                                dgvCashflow.Rows[index].Cells["dgvtxtoutflow"].Value      = rw["Balance1"].ToString();
                                dgvCashflow.Rows[index].Cells["dgvtxtID2"].Value          = rw["accountGroupId"].ToString();
                            }
                            else
                            {
                                dgvCashflow.Rows.Add();
                                dgvCashflow.Rows[dgvCashflow.Rows.Count - 1].Cells["dgvtxtParticulars1"].Value = rw["accountGroupName1"].ToString();
                                dgvCashflow.Rows[dgvCashflow.Rows.Count - 1].Cells["dgvtxtoutflow"].Value      = rw["Balance1"].ToString();
                                dgvCashflow.Rows[dgvCashflow.Rows.Count - 1].Cells["dgvtxtID2"].Value          = rw["accountGroupId"].ToString();
                            }
                            index++;
                        }
                    }
                    //-------------------------------Calculating TotalOutflow-----------------------------------------
                    decimal dcTotalOutflow = 0m;
                    if (dtbl.Rows.Count > 0)
                    {
                        for (int i = 0; i < dgvCashflow.Rows.Count - 1; i++)
                        {
                            decimal dcTotalIn = decimal.Parse(dgvCashflow.Rows[i].Cells["dgvtxtoutflow"].Value.ToString());
                            dcTotalOutflow += dcTotalIn;
                        }
                        dcTotOutflow = dcTotalOutflow;
                    }
                    dgvCashflow.Rows.Add();
                    dgvCashflow.Rows[dgvCashflow.Rows.Count - 1].Cells["dgvtxtinflow"].Value  = "_______________________";
                    dgvCashflow.Rows[dgvCashflow.Rows.Count - 1].Cells["dgvtxtoutflow"].Value = "_______________________";
                    dgvCashflow.Rows.Add();
                    dgvCashflow.Rows[dgvCashflow.Rows.Count - 1].DefaultCellStyle.Font             = newFont;
                    dgvCashflow.Rows[dgvCashflow.Rows.Count - 1].Cells["dgvtxtParticulars"].Value  = "Total";
                    dgvCashflow.Rows[dgvCashflow.Rows.Count - 1].Cells["dgvtxtParticulars1"].Value = "Total";
                    dgvCashflow.Rows[dgvCashflow.Rows.Count - 1].Cells["dgvtxtinflow"].Value       = Math.Round((dcTotalInflow), inDecimalPlaces);
                    dgvCashflow.Rows[dgvCashflow.Rows.Count - 1].Cells["dgvtxtoutflow"].Value      = Math.Round((dcTotalOutflow), inDecimalPlaces);
                    if (dgvCashflow.Columns.Count > 0)
                    {
                        dgvCashflow.Columns["dgvtxtinflow"].DefaultCellStyle.Alignment  = DataGridViewContentAlignment.MiddleRight;
                        dgvCashflow.Columns["dgvtxtoutflow"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
                    }
                    if (inCurrenRowIndex >= 0 && dgvCashflow.Rows.Count > 0 && inCurrenRowIndex < dgvCashflow.Rows.Count)
                    {
                        if (dgvCashflow.Rows[inCurrenRowIndex].Cells[inCurentcolIndex].Visible)
                        {
                            dgvCashflow.CurrentCell = dgvCashflow.Rows[inCurrenRowIndex].Cells[inCurentcolIndex];
                        }
                        if (dgvCashflow.CurrentCell != null && dgvCashflow.CurrentCell.Visible)
                        {
                            dgvCashflow.CurrentCell.Selected = true;
                        }
                    }
                    inCurrenRowIndex = 0;
                }
            }
            catch (Exception ex)
            {
                formMDI.infoError.ErrorString = "CF1:" + ex.Message;
            }
        }
Пример #9
0
        /// <summary>
        /// ExportToThermalPrinter
        /// </summary>
        public void ExportToPDFforThermalPrinter()
        {
            iTextSharp.text.Document pdfdoc = new iTextSharp.text.Document();
            try
            {
                DirectoryInfo dir1 = new DirectoryInfo(Application.StartupPath + "\\Barcode");
                if (!Directory.Exists(Application.StartupPath + "\\Barcode"))
                {
                    dir1.Create();
                }
                if (File.Exists(Application.StartupPath + "\\Barcode\\Barcode.pdf"))
                {
                    File.Delete(Application.StartupPath + "\\Barcode\\Barcode.pdf");
                }
                iTextSharp.text.Rectangle pgSize = new iTextSharp.text.Rectangle(227, 65);
                pdfdoc = new Document(pgSize, 6, 6, 0, 0);
                PdfWriter writer         = PdfWriter.GetInstance(pdfdoc, new FileStream(Application.StartupPath + "\\Barcode\\Barcode.pdf", FileMode.Create));
                PdfPTable tbl            = new PdfPTable(2);
                float[]   fltParentWidth = new float[] { 108f, 108f };
                tbl.TotalWidth  = 216;
                tbl.LockedWidth = true;
                tbl.SetWidths(fltParentWidth);
                tbl.DefaultCell.FixedHeight         = 57;
                tbl.DefaultCell.Border              = iTextSharp.text.Rectangle.NO_BORDER;
                tbl.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER;
                tbl.DefaultCell.VerticalAlignment   = Element.ALIGN_MIDDLE;
                pdfdoc.Open();
                int intotalCount         = 0;
                BarcodeSettingsInfo Info = new BarcodeSettingsInfo();
                SettingsSP          Sp   = new SettingsSP();
                Info = spBarcodeSettings.BarcodeSettingsViewForBarCodePrinting();
                for (int i = 0; i < dgvBarcodePrinting.Rows.Count; i++)
                {
                    if (dgvBarcodePrinting.Rows[i].Cells["dgvProductCode"].Value != null && dgvBarcodePrinting.Rows[i].Cells["dgvProductCode"].Value.ToString() != string.Empty)
                    {
                        int inCopies = 0;
                        if (dgvBarcodePrinting.Rows[i].Cells["dgvCopies"].Value != null)
                        {
                            int.TryParse(dgvBarcodePrinting.Rows[i].Cells["dgvCopies"].Value.ToString(), out inCopies);
                        }
                        for (int j = 0; j < inCopies; j++)
                        {
                            string strCode        = dgvBarcodePrinting.Rows[i].Cells["dgvProductCode"].Value.ToString();
                            string strCompanyName = string.Empty;
                            if (Info.ShowCompanyName)
                            {
                                strCompanyName = Info.CompanyName;
                            }
                            string strProductCode = string.Empty;
                            if (Info.ShowProductCode)
                            {
                                strProductCode = strCode;
                            }
                            else
                            {
                                strProductCode = dgvBarcodePrinting.Rows[i].Cells["dgvproductName"].Value.ToString();
                            }

                            string strMRP = string.Empty;
                            if (Info.ShowMRP)
                            {
                                strMRP = new CurrencySP().CurrencyView(PublicVariables._decCurrencyId).CurrencySymbol + ": " + dgvBarcodePrinting.Rows[i].Cells["dgvMRP"].Value.ToString();
                            }

                            string strSecretPurchaseRateCode = string.Empty;
                            if (Info.ShowPurchaseRate)
                            {
                                string strPurchaseRate = dgvBarcodePrinting.Rows[i].Cells["dgvPurchaseRate"].Value.ToString();

                                if (strPurchaseRate.Contains("."))
                                {
                                    strPurchaseRate = strPurchaseRate.TrimEnd('0');
                                    if (strPurchaseRate[strPurchaseRate.Length - 1] == '.')
                                    {
                                        strPurchaseRate = strPurchaseRate.Replace(".", "");
                                    }
                                }
                                for (int k = 0; k < strPurchaseRate.Length; k++)
                                {
                                    switch (strPurchaseRate[k])
                                    {
                                    case '0':
                                        strSecretPurchaseRateCode += Info.Zero;
                                        break;

                                    case '1':
                                        strSecretPurchaseRateCode += Info.One;
                                        break;

                                    case '2':
                                        strSecretPurchaseRateCode += Info.Two;
                                        break;

                                    case '3':
                                        strSecretPurchaseRateCode += Info.Three;
                                        break;

                                    case '4':
                                        strSecretPurchaseRateCode += Info.Four;
                                        break;

                                    case '5':
                                        strSecretPurchaseRateCode += Info.Five;
                                        break;

                                    case '6':
                                        strSecretPurchaseRateCode += Info.Six;
                                        break;

                                    case '7':
                                        strSecretPurchaseRateCode += Info.Seven;
                                        break;

                                    case '8':
                                        strSecretPurchaseRateCode += Info.Eight;
                                        break;

                                    case '9':
                                        strSecretPurchaseRateCode += Info.Nine;
                                        break;

                                    case '.':
                                        strSecretPurchaseRateCode += Info.Point;
                                        break;
                                    }
                                }
                            }

                            PdfContentByte pdfcb   = writer.DirectContent;
                            Barcode128     code128 = new Barcode128();
                            code128.Code          = strCode;
                            code128.Extended      = false;
                            code128.CodeType      = iTextSharp.text.pdf.Barcode.CODE128;
                            code128.AltText       = strProductCode;
                            code128.BarHeight     = 16;
                            code128.Size          = 9;
                            code128.Baseline      = 9;
                            code128.TextAlignment = Element.ALIGN_CENTER;
                            iTextSharp.text.Image image128 = code128.CreateImageWithBarcode(pdfcb, null, null);
                            Phrase phrase = new Phrase();

                            phrase.Add(new Chunk(strCompanyName, new iTextSharp.text.Font(-1, 9, iTextSharp.text.Font.BOLD)));
                            phrase.Add(new Chunk(Environment.NewLine + Environment.NewLine, new iTextSharp.text.Font(-1, 4)));
                            PdfPCell cell = new PdfPCell(phrase);
                            cell.HorizontalAlignment = Element.ALIGN_CENTER;
                            cell.VerticalAlignment   = Element.ALIGN_MIDDLE;
                            cell.Border = iTextSharp.text.Rectangle.NO_BORDER;
                            phrase.Add(new Chunk(image128, 0, 0));
                            phrase.Add(new Chunk(Environment.NewLine, new iTextSharp.text.Font(-1, 4)));
                            phrase.Add(new Chunk(strMRP, new iTextSharp.text.Font(-1, 8)));
                            phrase.Add(new Chunk(Environment.NewLine + strSecretPurchaseRateCode, new iTextSharp.text.Font(-1, 7)));
                            phrase.Add(new Chunk(Environment.NewLine + Environment.NewLine, new iTextSharp.text.Font(-1, 1.2f)));
                            tbl.AddCell(cell);
                            intotalCount++;
                        }
                    }
                }
                int reminder = intotalCount % 2;
                if (reminder != 0)
                {
                    for (int i = reminder; i < 2; ++i)
                    {
                        tbl.AddCell("");
                    }
                }
                if (tbl.Rows.Count != 0)
                {
                    pdfdoc.Add(tbl);
                    pdfdoc.Close();
                    System.Diagnostics.Process.Start(Application.StartupPath + "\\Barcode\\Barcode.pdf");
                }
            }
            catch (Exception ex)
            {
                if (ex.Message.Contains("The process cannot access the file") && ex.Message.Contains("Barcode.pdf' because it is being used by another process."))
                {
                    MessageBox.Show("Close the PDF file and try again", "Oneaccount", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    formMDI.infoError.ErrorString = "BCP5:" + ex.Message;
                }
            }
            finally
            {
                try
                {
                    pdfdoc.Close();
                }
                catch
                {
                }
            }
        }
Пример #10
0
        /// <summary>
        /// Export the Barcodes to PDF format here
        /// </summary>
        public void ExportToPDF()
        {
            iTextSharp.text.Document pdfdoc = new iTextSharp.text.Document();
            try
            {
                DirectoryInfo dir1 = new DirectoryInfo(Application.StartupPath + "\\Barcode");
                if (!Directory.Exists(Application.StartupPath + "\\Barcode"))
                {
                    dir1.Create();
                }
                if (File.Exists(Application.StartupPath + "\\Barcode\\Barcode.pdf"))
                {
                    File.Delete(Application.StartupPath + "\\Barcode\\Barcode.pdf");
                }
                pdfdoc = new Document(PageSize.A4, 12, 1, 20, 20);
                PdfWriter writer = PdfWriter.GetInstance(pdfdoc, new FileStream(Application.StartupPath + "\\Barcode\\Barcode.pdf", FileMode.Create));
                PdfPTable tbl    = new PdfPTable(5); // assigning 5 columns to pdf
                tbl.WidthPercentage    = 100;
                tbl.DefaultCell.Border = iTextSharp.text.Rectangle.NO_BORDER;
                tbl.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER;
                tbl.DefaultCell.VerticalAlignment   = Element.ALIGN_MIDDLE;
                pdfdoc.Open();
                int intotalCount         = 0;
                BarcodeSettingsInfo Info = new BarcodeSettingsInfo();
                Info = spBarcodeSettings.BarcodeSettingsViewForBarCodePrinting();
                for (int i = 0; i < dgvBarcodePrinting.Rows.Count; i++) // iterating grid to take each product
                {
                    if (dgvBarcodePrinting.Rows[i].Cells["dgvProductCode"].Value != null && dgvBarcodePrinting.Rows[i].Cells["dgvProductCode"].Value.ToString() != "")
                    {
                        int inCopies = 0;
                        if (dgvBarcodePrinting.Rows[i].Cells["dgvCopies"].Value != null)
                        {
                            int.TryParse(dgvBarcodePrinting.Rows[i].Cells["dgvCopies"].Value.ToString(), out inCopies); // number of copies of arcode to be printed
                        }
                        for (int j = 0; j < inCopies; j++)
                        {
                            string strCode = dgvBarcodePrinting.Rows[i].Cells["dgvBarcode"].Value.ToString();
                            // checking settings----------------------------------------------------------------------------------------------------------

                            string strCompanyName = " ";
                            if (Info.ShowCompanyName)
                            {
                                strCompanyName = Info.CompanyName;
                            }
                            //-----------------------------------
                            string strProductCode = " ";
                            if (Info.ShowProductCode)
                            {
                                strProductCode = strCode;
                            }
                            else
                            {
                                strProductCode = dgvBarcodePrinting.Rows[i].Cells["dgvproductName"].Value.ToString();
                            }
                            //-----------------------------------
                            string strMRP = " ";
                            if (Info.ShowMRP)
                            {
                                strMRP = new CurrencySP().CurrencyView(PublicVariables._decCurrencyId).CurrencySymbol + ": " + dgvBarcodePrinting.Rows[i].Cells["dgvMRP"].Value.ToString();
                            }
                            //-----------------------------------
                            string strSecretPurchaseRateCode = " ";
                            if (Info.ShowPurchaseRate)
                            {
                                string strPurchaseRate = dgvBarcodePrinting.Rows[i].Cells["dgvPurchaseRate"].Value.ToString();
                                //converting to secret code
                                if (strPurchaseRate.Contains("."))
                                {
                                    strPurchaseRate = strPurchaseRate.TrimEnd('0');
                                    if (strPurchaseRate[strPurchaseRate.Length - 1] == '.')
                                    {
                                        strPurchaseRate = strPurchaseRate.Replace(".", "");
                                    }
                                }
                                for (int k = 0; k < strPurchaseRate.Length; k++)
                                {
                                    switch (strPurchaseRate[k])
                                    {
                                    case '0':
                                        strSecretPurchaseRateCode += Info.Zero;
                                        break;

                                    case '1':
                                        strSecretPurchaseRateCode += Info.One;
                                        break;

                                    case '2':
                                        strSecretPurchaseRateCode += Info.Two;
                                        break;

                                    case '3':
                                        strSecretPurchaseRateCode += Info.Three;
                                        break;

                                    case '4':
                                        strSecretPurchaseRateCode += Info.Four;
                                        break;

                                    case '5':
                                        strSecretPurchaseRateCode += Info.Five;
                                        break;

                                    case '6':
                                        strSecretPurchaseRateCode += Info.Six;
                                        break;

                                    case '7':
                                        strSecretPurchaseRateCode += Info.Seven;
                                        break;

                                    case '8':
                                        strSecretPurchaseRateCode += Info.Eight;
                                        break;

                                    case '9':
                                        strSecretPurchaseRateCode += Info.Nine;
                                        break;

                                    case '.':
                                        strSecretPurchaseRateCode += Info.Point;
                                        break;
                                    }
                                }
                            }

                            // generating and assigning barcode to PDF

                            PdfContentByte pdfcb   = writer.DirectContent;
                            Barcode128     code128 = new Barcode128();
                            code128.Code          = strCode;
                            code128.Extended      = false;
                            code128.CodeType      = iTextSharp.text.pdf.Barcode.CODE128;
                            code128.AltText       = strProductCode;
                            code128.BarHeight     = 13;
                            code128.Size          = 6;
                            code128.Baseline      = 8;
                            code128.TextAlignment = Element.ALIGN_CENTER;
                            iTextSharp.text.Image image128 = code128.CreateImageWithBarcode(pdfcb, null, null);


                            Phrase phrase = new Phrase();
                            phrase.Font.Size = 8;
                            phrase.Add(new Chunk(strCompanyName + Environment.NewLine + Environment.NewLine));
                            PdfPCell cell = new PdfPCell(phrase);
                            cell.FixedHeight         = 61.69f;
                            cell.HorizontalAlignment = Element.ALIGN_CENTER;
                            cell.VerticalAlignment   = Element.ALIGN_MIDDLE;
                            cell.Border = iTextSharp.text.Rectangle.NO_BORDER;
                            phrase.Add(new Chunk(image128, 0, 0));
                            phrase.Add(new Chunk(Environment.NewLine + strMRP));
                            phrase.Add(new Chunk(Environment.NewLine + strSecretPurchaseRateCode));
                            tbl.AddCell(cell);
                            intotalCount++; // getting total number of barcode generated
                        }
                    }
                }
                // so we assign a null values to reaming columns
                int reminder = intotalCount % 5;
                if (reminder != 0)
                {
                    for (int i = reminder; i < 5; ++i)
                    {
                        tbl.AddCell("");
                    }
                }
                if (tbl.Rows.Count != 0)
                {
                    pdfdoc.Add(tbl);
                    pdfdoc.Close();
                    System.Diagnostics.Process.Start(Application.StartupPath + "\\Barcode\\Barcode.pdf");
                }
            }
            catch (Exception ex)
            {
                if (ex.Message.Contains("The process cannot access the file") && ex.Message.Contains("Barcode.pdf' because it is being used by another process."))
                {
                    MessageBox.Show("Close the PDF file and try again", "Oneaccount", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show("BCD4:" + ex.Message, "Oneaccount", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            finally
            {
                try
                {
                    pdfdoc.Close();
                }
                catch
                {
                }
            }
        }
Пример #11
0
        /// <summary>
        /// Function to fill the grid
        /// </summary>
        public void GridFill()
        {
            try
            {
                CurrencyInfo InfoCurrency = new CurrencyInfo();
                CurrencySP   SpCurrency   = new CurrencySP();
                InfoCurrency = SpCurrency.CurrencyView(1);
                int          inDecimalPlaces   = InfoCurrency.NoOfDecimalPlaces;
                string       calculationMethod = string.Empty;
                SettingsInfo InfoSettings      = new SettingsInfo();
                SettingsSP   SpSettings        = new SettingsSP();
                //--------------- Selection Of Calculation Method According To Settings ------------------//

                if (SpSettings.SettingsStatusCheck("StockValueCalculationMethod") == "FIFO")
                {
                    calculationMethod = "FIFO";
                }
                else if (SpSettings.SettingsStatusCheck("StockValueCalculationMethod") == "Average Cost")
                {
                    calculationMethod = "Average Cost";
                }
                else if (SpSettings.SettingsStatusCheck("StockValueCalculationMethod") == "High Cost")
                {
                    calculationMethod = "High Cost";
                }
                else if (SpSettings.SettingsStatusCheck("StockValueCalculationMethod") == "Low Cost")
                {
                    calculationMethod = "Low Cost";
                }
                else if (SpSettings.SettingsStatusCheck("StockValueCalculationMethod") == "Last Purchase Rate")
                {
                    calculationMethod = "Last Purchase Rate";
                }

                StockPostingSP spstock   = new StockPostingSP();
                decimal        decrackId = 0;
                DataSet        dsstock   = new DataSet();
                DataTable      dtbl      = new DataTable();

                if (cmbRack.SelectedValue != null)
                {
                    decrackId = Convert.ToDecimal(cmbRack.SelectedValue.ToString());
                }

                dtbl = spstock.StockReportGridFill1(txtproductName.Text, Convert.ToDecimal(cmbBrand.SelectedValue.ToString()), Convert.ToDecimal(cmbModel.SelectedValue.ToString()), (txtProductCode.Text), Convert.ToDecimal(cmbGodown.SelectedValue.ToString()), decrackId, Convert.ToDecimal(cmbSize.SelectedValue.ToString()), Convert.ToDecimal(cmbTax.SelectedValue.ToString()), Convert.ToDecimal(cmbProductgroup.SelectedValue.ToString()), txtBatchName.Text);

                if (dtbl.Rows.Count > 0)
                {
                    decimal decTotal = 0;
                    for (int i = 0; i < dtbl.Rows.Count; i++)
                    {
                        if (dtbl.Rows[i]["stockvalue"].ToString() != string.Empty)
                        {
                            decTotal = decTotal + Convert.ToDecimal(dtbl.Rows[i]["stockvalue"].ToString());
                        }
                    }

                    decTotal      = Math.Round(decTotal, 2);
                    txtTotal.Text = decTotal.ToString();
                }
                else
                {
                    txtTotal.Text = "0.00";
                }


                dgvStockReport.DataSource = dtbl;
                //if (dtbl.Columns.Count > 0)
                //{
                //    dgvStockReport.Columns["stockvalue"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
                //}
            }
            catch (Exception ex)
            {
                formMDI.infoError.ErrorString = "STKR8:" + ex.Message;
            }
        }
Пример #12
0
 /// <summary>
 /// Function to fill Datagridview after calculation
 /// </summary>
 public void GridFill()
 {
     try
     {
         if (!isFormLoad)
         {
             DateValidation objValidation = new DateValidation();
             objValidation.DateValidationFunction(txtFundFlowFromDate);
             if (txtFundFlowFromDate.Text == string.Empty)
             {
                 txtFundFlowFromDate.Text = PublicVariables._dtFromDate.ToString("dd-MMM-yyyy");
             }
             objValidation.DateValidationFunction(txtFundflowToDate);
             if (txtFundflowToDate.Text == string.Empty)
             {
                 txtFundflowToDate.Text = PublicVariables._dtToDate.ToString("dd-MMM-yyyy");
             }
             //-------------------------------------First gridfill-------------------------------------//
             DateTime             strFromDate = Convert.ToDateTime(txtFundFlowFromDate.Text.ToString());
             DateTime             strTodate   = Convert.ToDateTime(txtFundflowToDate.Text.ToString());
             FinancialStatementSP spFinancial = new FinancialStatementSP();
             DataSet      dsetFinancial       = new DataSet();
             SettingsInfo InfoSettings        = new SettingsInfo();
             SettingsSP   SpSettings          = new SettingsSP();
             //--------------- Selection Of Calculation Method According To Settings ------------------//
             if (SpSettings.SettingsStatusCheck("StockValueCalculationMethod") == "FIFO")
             {
                 strCalculationMethod = "FIFO";
             }
             else if (SpSettings.SettingsStatusCheck("StockValueCalculationMethod") == "Average Cost")
             {
                 strCalculationMethod = "Average Cost";
             }
             else if (SpSettings.SettingsStatusCheck("StockValueCalculationMethod") == "High Cost")
             {
                 strCalculationMethod = "High Cost";
             }
             else if (SpSettings.SettingsStatusCheck("StockValueCalculationMethod") == "Low Cost")
             {
                 strCalculationMethod = "Low Cost";
             }
             else if (SpSettings.SettingsStatusCheck("StockValueCalculationMethod") == "Last Purchase Rate")
             {
                 strCalculationMethod = "Last Purchase Rate";
             }
             dsetFinancial = spFinancial.FundFlow(strFromDate, strTodate);
             DataTable    dtbl         = new DataTable();
             Font         newFont      = new Font(dgvFundFlow.Font, FontStyle.Bold);
             CurrencyInfo InfoCurrency = new CurrencyInfo();
             CurrencySP   SpCurrency   = new CurrencySP();
             InfoCurrency = SpCurrency.CurrencyView(1);
             int inDecimalPlaces = InfoCurrency.NoOfDecimalPlaces;
             dgvFundFlow.Rows.Clear();
             ////-------------------Source--------------------------------------------------------------
             dtbl = dsetFinancial.Tables[0];
             foreach (DataRow rw in dtbl.Rows)
             {
                 dgvFundFlow.Rows.Add();
                 dgvFundFlow.Rows[dgvFundFlow.Rows.Count - 1].Cells["dgvtxtSource"].Value   = rw["Name"].ToString();
                 dgvFundFlow.Rows[dgvFundFlow.Rows.Count - 1].Cells["dgvtxtAmount1"].Value  = rw["Balance"].ToString();
                 dgvFundFlow.Rows[dgvFundFlow.Rows.Count - 1].Cells["dgvtxtgroupId1"].Value = rw["ID"].ToString();
             }
             decimal dcTotalAsset = 0;
             if (dtbl.Rows.Count > 0)
             {
                 dcTotalAsset = decimal.Parse(dtbl.Compute("Sum(Balance)", string.Empty).ToString());
             }
             ////-----------------Application------------------------------------------------------------
             dtbl = new DataTable();
             dtbl = dsetFinancial.Tables[1];
             int index = 0;
             foreach (DataRow rw in dtbl.Rows)
             {
                 if (index < dgvFundFlow.Rows.Count)
                 {
                     dgvFundFlow.Rows[index].Cells["dgvtxtApplication"].Value = rw["Name"].ToString();
                     dgvFundFlow.Rows[index].Cells["dgvtxtAmount2"].Value     = rw["Balance"].ToString();
                     dgvFundFlow.Rows[index].Cells["dgvtxtgroupId2"].Value    = rw["ID"].ToString();
                 }
                 else
                 {
                     dgvFundFlow.Rows.Add();
                     dgvFundFlow.Rows[dgvFundFlow.Rows.Count - 1].Cells["dgvtxtApplication"].Value = rw["Name"].ToString();
                     dgvFundFlow.Rows[dgvFundFlow.Rows.Count - 1].Cells["dgvtxtAmount2"].Value     = rw["Balance"].ToString();
                     dgvFundFlow.Rows[dgvFundFlow.Rows.Count - 1].Cells["dgvtxtgroupId2"].Value    = rw["ID"].ToString();
                 }
                 index++;
             }
             decimal dcTotalLiability = 0;
             if (dtbl.Rows.Count > 0)
             {
                 dcTotalLiability = Convert.ToDecimal(dtbl.Compute("Sum(Balance)", string.Empty).ToString());
             }
             //-------------------- Closing Stock -----------------------//  With Calculation
             dcClosingStock = spFinancial.StockValueGetOnDate(Convert.ToDateTime(txtFundflowToDate.Text), strCalculationMethod, false, false);
             dcClosingStock = Math.Round(dcClosingStock, inDecimalPlaces);
             //---------------------Opening Stock-----------------------
             decimal dcOpeninggStock = spFinancial.StockValueGetOnDate(Convert.ToDateTime(txtFundFlowFromDate.Text), strCalculationMethod, true, false);
             //------------- Profit Or Loss -----------// With Calculation
             decimal dcProfit          = 0;
             DataSet dsetProfitAndLoss = new DataSet();
             dsetProfitAndLoss = spFinancial.ProfitAndLossAnalysisUpToaDateForBalansheet(Convert.ToDateTime(txtFundFlowFromDate.Text), Convert.ToDateTime(txtFundflowToDate.Text));
             DataTable dtblProfit = new DataTable();
             dtblProfit = dsetProfitAndLoss.Tables[0];
             for (int i = 0; i < dsetProfitAndLoss.Tables.Count; ++i)
             {
                 dtbl = dsetProfitAndLoss.Tables[i];
                 decimal dcSum = 0;
                 if (i == 0 || (i % 2) == 0)
                 {
                     if (dtbl.Rows.Count > 0)
                     {
                         dcSum    = Convert.ToDecimal(dtbl.Compute("Sum(Debit)", string.Empty).ToString());
                         dcProfit = dcProfit - dcSum;
                     }
                 }
                 else
                 {
                     if (dtbl.Rows.Count > 0)
                     {
                         dcSum    = Convert.ToDecimal(dtbl.Compute("Sum(Credit)", string.Empty).ToString());
                         dcProfit = dcProfit + dcSum;
                     }
                 }
             }
             //---------------------NetProfit/NetLoss Calculation--------------------------
             dcProfit = dcProfit + dcClosingStock - dcOpeninggStock;
             if (dcProfit > 0)
             {
                 //------------ Liability ------------//
                 dgvFundFlow.Rows.Add();
                 dgvFundFlow.Rows[dgvFundFlow.Rows.Count - 1].Cells["dgvtxtSource"].Value            = "Net Profit";
                 dgvFundFlow.Rows[dgvFundFlow.Rows.Count - 1].Cells["dgvtxtAmount1"].Value           = Math.Round(dcProfit, inDecimalPlaces);
                 dgvFundFlow.Rows[dgvFundFlow.Rows.Count - 1].Cells["dgvtxtAmount1"].Style.ForeColor = Color.Green;
                 dgvFundFlow.Rows[dgvFundFlow.Rows.Count - 1].Cells["dgvtxtSource"].Style.ForeColor  = Color.Green;
                 //dcTotalLiability += dcProfit;
             }
             else
             {
                 //-------------- Asset ---------------//
                 dgvFundFlow.Rows.Add();
                 dgvFundFlow.Rows[dgvFundFlow.Rows.Count - 1].Cells["dgvtxtApplication"].Value           = "Net Loss";
                 dgvFundFlow.Rows[dgvFundFlow.Rows.Count - 1].Cells["dgvtxtAmount2"].Value               = -Math.Round(dcProfit, inDecimalPlaces);
                 dgvFundFlow.Rows[dgvFundFlow.Rows.Count - 1].Cells["dgvtxtAmount2"].Style.ForeColor     = Color.Red;
                 dgvFundFlow.Rows[dgvFundFlow.Rows.Count - 1].Cells["dgvtxtApplication"].Style.ForeColor = Color.Red;
             }
             if (dcProfit > 0)
             {
                 dcTotalAsset += (dcProfit);
             }
             else
             {
                 dcTotalLiability += (-dcProfit);
             }
             decimal dcTotalValue = dcTotalAsset;
             dgvFundFlow.Rows.Add();
             dgvFundFlow.Rows[dgvFundFlow.Rows.Count - 1].Cells["dgvtxtAmount1"].Value = "_______________________";
             dgvFundFlow.Rows[dgvFundFlow.Rows.Count - 1].Cells["dgvtxtAmount2"].Value = "_______________________";
             dgvFundFlow.Rows.Add();
             dgvFundFlow.Rows[dgvFundFlow.Rows.Count - 1].DefaultCellStyle.Font            = newFont;
             dgvFundFlow.Rows[dgvFundFlow.Rows.Count - 1].Cells["dgvtxtApplication"].Value = "Total";
             dgvFundFlow.Rows[dgvFundFlow.Rows.Count - 1].Cells["dgvtxtSource"].Value      = "Total";
             dgvFundFlow.Rows[dgvFundFlow.Rows.Count - 1].Cells["dgvtxtAmount1"].Value     = Math.Round((dcTotalAsset), inDecimalPlaces);
             dgvFundFlow.Rows[dgvFundFlow.Rows.Count - 1].Cells["dgvtxtAmount2"].Value     = Math.Round((dcTotalLiability), inDecimalPlaces);
             //----------------------------------------Second gridfill----------------------------------------------
             //--------------------------------------Current Assets-------------------------------------------
             Font newFont2 = new Font(dgvFundFlow2.Font, FontStyle.Bold);
             dgvFundFlow2.Rows.Clear();
             dtbl = dsetFinancial.Tables[3];
             decimal decWC = 0;
             foreach (DataRow rw in dtbl.Rows)
             {
                 dgvFundFlow2.Rows.Add();
                 dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtgroupId"].Value        = rw["ID"].ToString();
                 dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtParticulars"].Value    = rw["Name"].ToString();
                 dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtOpeningBalance"].Value = rw["OpeningBalance"].ToString() + "Dr";
                 dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtop"].Value             = rw["OpeningBalance"].ToString();
                 dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtcb"].Value             = rw["ClosingBalance"].ToString();
                 decimal decOB = Convert.ToDecimal(rw["OpeningBalance"].ToString());
                 decimal decCB = Convert.ToDecimal(rw["ClosingBalance"].ToString());
                 decCB = decCB + dcClosingStock;
                 if (decCB > 0)
                 {
                     dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtClosingBalance"].Value = Math.Round(decCB, inDecimalPlaces).ToString() + "Dr";
                     dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtcb"].Value             = Math.Round(decCB, inDecimalPlaces).ToString();
                 }
                 else
                 {
                     decCB = -1 * decCB;
                     dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtClosingBalance"].Value = Math.Round(decCB, inDecimalPlaces).ToString() + "Dr";
                     dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtcb"].Value             = Math.Round(decCB, inDecimalPlaces).ToString();
                 }
                 decWC = decOB - decCB;
                 dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtWorkingCapitalIncrease"].Value = Math.Round(decWC, inDecimalPlaces).ToString();
             }
             //--------------------------------------Current Liability-------------------------------------------
             dtbl = dsetFinancial.Tables[5];
             decimal decWCCL = 0;
             foreach (DataRow rw in dtbl.Rows)
             {
                 dgvFundFlow2.Rows.Add();
                 dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtgroupId"].Value     = rw["ID"].ToString();
                 dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtParticulars"].Value = rw["Name"].ToString();
                 decimal decOp = Convert.ToDecimal(rw["OpeningBalance"].ToString());
                 decimal decCb = Convert.ToDecimal(rw["ClosingBalance"].ToString());
                 dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtOpeningBalance"].Value = decOp.ToString() + "Cr";
                 dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtop"].Value             = rw["OpeningBalance"].ToString();
                 dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtcb"].Value             = rw["ClosingBalance"].ToString();
                 if (decCb > 0)
                 {
                     dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtClosingBalance"].Value = decCb.ToString() + "Cr";
                     dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtcb"].Value             = decCb.ToString();
                 }
                 else
                 {
                     decCb = -1 * decCb;
                     dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtClosingBalance"].Value = decCb.ToString() + "Cr";
                     dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtcb"].Value             = decCb.ToString();
                 }
                 decimal decOB = Convert.ToDecimal(rw["OpeningBalance"].ToString());
                 decimal decCB = Convert.ToDecimal(rw["ClosingBalance"].ToString());
                 decWCCL = decOp - decCb;
                 dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtWorkingCapitalIncrease"].Value = decWCCL.ToString();
             }
             //-----------------Calculating Working capital---------------
             decimal decOpen  = 0;
             decimal decClose = 0;
             decimal decWork  = 0;
             decOpen  = Convert.ToDecimal(dgvFundFlow2.Rows[0].Cells[3].Value.ToString()) - Convert.ToDecimal(dgvFundFlow2.Rows[1].Cells[3].Value.ToString());
             decClose = Convert.ToDecimal(dgvFundFlow2.Rows[0].Cells[5].Value.ToString()) - Convert.ToDecimal(dgvFundFlow2.Rows[1].Cells[5].Value.ToString());
             decWork  = Convert.ToDecimal(dgvFundFlow2.Rows[0].Cells[6].Value.ToString()) - Convert.ToDecimal(dgvFundFlow2.Rows[1].Cells[6].Value.ToString());
             decimal decW1 = Convert.ToDecimal(dgvFundFlow2.Rows[0].Cells[6].Value.ToString());
             decimal decW2 = Convert.ToDecimal(dgvFundFlow2.Rows[1].Cells[6].Value.ToString());
             dgvFundFlow2.Rows.Add();
             dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtParticulars"].Value = "Working Capital";
             if (decOpen > 0)
             {
                 dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtOpeningBalance"].Value = decOpen.ToString() + "Dr";
             }
             else
             {
                 decOpen *= -1;
                 dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtOpeningBalance"].Value = decOpen.ToString() + "Cr";
             }
             if (decClose > 0)
             {
                 dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtClosingBalance"].Value = decClose.ToString() + "Dr";
             }
             else
             {
                 decClose *= -1;
                 dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtClosingBalance"].Value = decClose.ToString() + "Cr";
             }
             dgvFundFlow2.Rows[dgvFundFlow2.Rows.Count - 1].Cells["dgvtxtWorkingCapitalIncrease"].Value = decWork.ToString();
         }
     }
     catch (Exception ex)
     {
         formMDI.infoError.ErrorString = "FF6:" + ex.Message;
     }
 }