Пример #1
0
        /// <summary>
        /// Function to insert values to ContraDetails Table
        /// </summary>
        /// <param name="contradetailsinfo"></param>
        /// <returns></returns>
        public decimal ContraDetailsAdd(ContraDetailsInfo contradetailsinfo)
        {
            decimal deceffect = 0;

            try
            {
                if (sqlcon.State == ConnectionState.Closed)
                {
                    sqlcon.Open();
                }
                SqlCommand sccmd = new SqlCommand("ContraDetailsAdd", sqlcon);
                sccmd.CommandType = CommandType.StoredProcedure;
                SqlParameter sprmparam = new SqlParameter();
                sprmparam       = sccmd.Parameters.Add("@contraMasterId", SqlDbType.Decimal);
                sprmparam.Value = contradetailsinfo.ContraMasterId;
                sprmparam       = sccmd.Parameters.Add("@ledgerId", SqlDbType.Decimal);
                sprmparam.Value = contradetailsinfo.LedgerId;
                sprmparam       = sccmd.Parameters.Add("@amount", SqlDbType.Decimal);
                sprmparam.Value = contradetailsinfo.Amount;
                sprmparam       = sccmd.Parameters.Add("@chequeNo", SqlDbType.VarChar);
                sprmparam.Value = contradetailsinfo.ChequeNo;
                sprmparam       = sccmd.Parameters.Add("@chequeDate", SqlDbType.DateTime);
                sprmparam.Value = contradetailsinfo.ChequeDate;
                sprmparam       = sccmd.Parameters.Add("@exchangeRateId", SqlDbType.Decimal);
                sprmparam.Value = contradetailsinfo.ExchangeRateId;
                sprmparam       = sccmd.Parameters.Add("@extraDate", SqlDbType.DateTime);
                sprmparam       = sccmd.Parameters.Add("@extra1", SqlDbType.VarChar);
                sprmparam.Value = contradetailsinfo.Extra1;
                sprmparam       = sccmd.Parameters.Add("@extra2", SqlDbType.VarChar);
                sprmparam.Value = contradetailsinfo.Extra2;
                deceffect       = Convert.ToDecimal(sccmd.ExecuteNonQuery().ToString());
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            finally
            {
                sqlcon.Close();
            }
            return(deceffect);
        }
Пример #2
0
        /// <summary>
        /// Function to get particular values from ContraDetails Table based on the parameter
        /// </summary>
        /// <param name="contraDetailsId"></param>
        /// <returns></returns>
        public ContraDetailsInfo ContraDetailsView(decimal contraDetailsId)
        {
            ContraDetailsInfo contradetailsinfo = new ContraDetailsInfo();
            SqlDataReader     sdrreader         = null;

            try
            {
                if (sqlcon.State == ConnectionState.Closed)
                {
                    sqlcon.Open();
                }
                SqlCommand sccmd = new SqlCommand("ContraDetailsView", sqlcon);
                sccmd.CommandType = CommandType.StoredProcedure;
                SqlParameter sprmparam = new SqlParameter();
                sprmparam       = sccmd.Parameters.Add("@contraDetailsId", SqlDbType.Decimal);
                sprmparam.Value = contraDetailsId;
                sdrreader       = sccmd.ExecuteReader();
                while (sdrreader.Read())
                {
                    contradetailsinfo.ContraDetailsId = decimal.Parse(sdrreader[0].ToString());
                    contradetailsinfo.ContraMasterId  = decimal.Parse(sdrreader[1].ToString());
                    contradetailsinfo.LedgerId        = decimal.Parse(sdrreader[2].ToString());
                    contradetailsinfo.Amount          = decimal.Parse(sdrreader[3].ToString());
                    contradetailsinfo.ChequeNo        = sdrreader[4].ToString();
                    contradetailsinfo.ChequeDate      = DateTime.Parse(sdrreader[5].ToString());
                    contradetailsinfo.ExtraDate       = DateTime.Parse(sdrreader[6].ToString());
                    contradetailsinfo.Extra1          = sdrreader[7].ToString();
                    contradetailsinfo.Extra2          = sdrreader[8].ToString();
                    contradetailsinfo.ExchangeRateId  = decimal.Parse(sdrreader["Currency"].ToString());
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            finally
            {
                sdrreader.Close();
                sqlcon.Close();
            }
            return(contradetailsinfo);
        }
Пример #3
0
 /// <summary>
 /// Function to insert values to ContraDetails Table
 /// </summary>
 /// <param name="contradetailsinfo"></param>
 /// <returns></returns>
 public decimal ContraDetailsAdd(ContraDetailsInfo contradetailsinfo)
 {
     decimal deceffect = 0;
     try
     {
         if (sqlcon.State == ConnectionState.Closed)
         {
             sqlcon.Open();
         }
         SqlCommand sccmd = new SqlCommand("ContraDetailsAdd", sqlcon);
         sccmd.CommandType = CommandType.StoredProcedure;
         SqlParameter sprmparam = new SqlParameter();
         sprmparam = sccmd.Parameters.Add("@contraMasterId", SqlDbType.Decimal);
         sprmparam.Value = contradetailsinfo.ContraMasterId;
         sprmparam = sccmd.Parameters.Add("@ledgerId", SqlDbType.Decimal);
         sprmparam.Value = contradetailsinfo.LedgerId;
         sprmparam = sccmd.Parameters.Add("@amount", SqlDbType.Decimal);
         sprmparam.Value = contradetailsinfo.Amount;
         sprmparam = sccmd.Parameters.Add("@chequeNo", SqlDbType.VarChar);
         sprmparam.Value = contradetailsinfo.ChequeNo;
         sprmparam = sccmd.Parameters.Add("@chequeDate", SqlDbType.DateTime);
         sprmparam.Value = contradetailsinfo.ChequeDate;
         sprmparam = sccmd.Parameters.Add("@exchangeRateId", SqlDbType.Decimal);
         sprmparam.Value = contradetailsinfo.ExchangeRateId;
         sprmparam = sccmd.Parameters.Add("@extraDate", SqlDbType.DateTime);
         sprmparam = sccmd.Parameters.Add("@extra1", SqlDbType.VarChar);
         sprmparam.Value = contradetailsinfo.Extra1;
         sprmparam = sccmd.Parameters.Add("@extra2", SqlDbType.VarChar);
         sprmparam.Value = contradetailsinfo.Extra2;
         deceffect = Convert.ToDecimal(sccmd.ExecuteNonQuery().ToString());
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
     finally
     {
         sqlcon.Close();
     }
     return deceffect;
 }
Пример #4
0
 /// <summary>
 /// Function to get particular values from ContraDetails Table based on the parameter
 /// </summary>
 /// <param name="contraDetailsId"></param>
 /// <returns></returns>
 public ContraDetailsInfo ContraDetailsView(decimal contraDetailsId)
 {
     ContraDetailsInfo contradetailsinfo = new ContraDetailsInfo();
     SqlDataReader sdrreader = null;
     try
     {
         if (sqlcon.State == ConnectionState.Closed)
         {
             sqlcon.Open();
         }
         SqlCommand sccmd = new SqlCommand("ContraDetailsView", sqlcon);
         sccmd.CommandType = CommandType.StoredProcedure;
         SqlParameter sprmparam = new SqlParameter();
         sprmparam = sccmd.Parameters.Add("@contraDetailsId", SqlDbType.Decimal);
         sprmparam.Value = contraDetailsId;
         sdrreader = sccmd.ExecuteReader();
         while (sdrreader.Read())
         {
             contradetailsinfo.ContraDetailsId = decimal.Parse(sdrreader[0].ToString());
             contradetailsinfo.ContraMasterId = decimal.Parse(sdrreader[1].ToString());
             contradetailsinfo.LedgerId = decimal.Parse(sdrreader[2].ToString());
             contradetailsinfo.Amount = decimal.Parse(sdrreader[3].ToString());
             contradetailsinfo.ChequeNo = sdrreader[4].ToString();
             contradetailsinfo.ChequeDate = DateTime.Parse(sdrreader[5].ToString());
             contradetailsinfo.ExtraDate = DateTime.Parse(sdrreader[6].ToString());
             contradetailsinfo.Extra1 = sdrreader[7].ToString();
             contradetailsinfo.Extra2 = sdrreader[8].ToString();
             contradetailsinfo.ExchangeRateId = decimal.Parse(sdrreader["Currency"].ToString());
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
     finally
     {
         sdrreader.Close();
         sqlcon.Close();
     }
     return contradetailsinfo;
 }
Пример #5
0
 /// <summary>
 /// Edit function Call the ledger posting Edit function also
 /// </summary>
 /// <param name="decMasterId"></param>
 public void EditFunction(decimal decMasterId)
 {
     try
     {
         ContraMasterSP spContraMaster = new ContraMasterSP();
         ContraMasterInfo infoContraMaster = new ContraMasterInfo();
         ContraDetailsSP spContraDetails = new ContraDetailsSP();
         ContraDetailsInfo infoCOntraDetails = new ContraDetailsInfo();
         ExchangeRateSP spExchangeRate = new ExchangeRateSP();
         LedgerPostingSP spLedgerPosting = new LedgerPostingSP();
         decimal decContraDetailsId = 0;
         decimal decLedgerPostId = 0;
         infoContraMaster.ContraMasterId = decMasterId;
         infoContraMaster.LedgerId = Convert.ToDecimal(cmbBankAccount.SelectedValue.ToString());
         if (isAutomatic)
         {
             infoContraMaster.VoucherNo = strVoucherNo;
         }
         if (isAutomatic)
         {
             infoContraMaster.InvoiceNo = strInvoiceNo;
         }
         else
         {
             infoContraMaster.InvoiceNo = txtVoucherNo.Text;
         }
         infoContraMaster.Date = Convert.ToDateTime(dtpContraVoucherDate.Text.ToString());
         infoContraMaster.Narration = txtNarration.Text.Trim();
         infoContraMaster.TotalAmount = Convert.ToDecimal(txtTotal.Text);
         if (rbtnDeposit.Checked)
             infoContraMaster.Type = "Deposit";
         else
             infoContraMaster.Type = "Withdraw";
         infoContraMaster.SuffixPrefixId = decContraSuffixPrefixId;
         infoContraMaster.VoucherTypeId = DecContraVoucherTypeId;
         infoContraMaster.FinancialYearId = PublicVariables._decCurrentFinancialYearId;
         infoContraMaster.UserId = PublicVariables._decCurrentUserId;
         infoContraMaster.Extra1 = string.Empty;
         infoContraMaster.Extra2 = string.Empty;
         infoContraMaster.Date = Convert.ToDateTime(txtContraVoucherDate.Text);
         int inCount = dgvContraVoucher.RowCount;
         int inValue = 0;
         for (int i = 0; i < inCount - 1; i++)
         {
             if (dgvContraVoucher.Rows[i].Cells["dgvcmbBankorCashAccount"].Value != null &&
                 dgvContraVoucher.Rows[i].Cells["dgvcmbBankorCashAccount"].Value.ToString() != null)
             {
                 inValue++;
             }
         }
         if (inValue > 0)
         {
             if (Convert.ToDecimal(txtTotal.Text) != 0)
             {
                 infoCOntraDetails.ContraMasterId = decMasterId;
                 infoCOntraDetails.Extra1 = string.Empty;
                 infoCOntraDetails.Extra2 = string.Empty;
                 //------------------deleting removed rows----------------------------------------//
                 foreach (var item in arrlstOfRemove)
                 {
                     decimal decId = Convert.ToDecimal(item);
                     spContraDetails.ContraDetailsDelete(Convert.ToDecimal(decId));
                     spLedgerPosting.LedgerPostDeleteByDetailsId(Convert.ToDecimal(decId), strVoucherNo, DecContraVoucherTypeId);
                 }
                 //--------------------------End---------------------------------------------------//
                 int inRowCount = dgvContraVoucher.RowCount;
                 decimal decLedgerId = 0;
                 decimal decLedger1Id = 0;
                 decimal decDebit = 0;
                 decimal decCredit = 0;
                 decLedger1Id = Convert.ToDecimal(cmbBankAccount.SelectedValue.ToString());
                 for (int i = 0; i < inRowCount; i++)
                 {
                     if (dgvContraVoucher.Rows[i].Cells["dgvcmbBankorCashAccount"].Value != null && dgvContraVoucher.Rows[i].Cells["dgvcmbBankorCashAccount"].Value.ToString() != "")
                     {
                         decLedgerId = Convert.ToDecimal(dgvContraVoucher.Rows[i].Cells["dgvcmbBankorCashAccount"].Value.ToString());
                         infoCOntraDetails.LedgerId = Convert.ToDecimal(dgvContraVoucher.Rows[i].Cells["dgvcmbBankorCashAccount"].Value.ToString());
                     }
                     if (dgvContraVoucher.Rows[i].Cells["dgvtxtChequeNo"].Value != null && dgvContraVoucher.Rows[i].Cells["dgvtxtChequeNo"].Value.ToString() != "")
                     {
                         infoCOntraDetails.ChequeNo = dgvContraVoucher.Rows[i].Cells["dgvtxtChequeNo"].Value.ToString();
                     }
                     else
                     {
                         infoCOntraDetails.ChequeNo = string.Empty;
                     }
                     if (dgvContraVoucher.Rows[i].Cells["dgvtxtChequeDate"].Value != null && dgvContraVoucher.Rows[i].Cells["dgvtxtChequeDate"].Value.ToString() != "")
                     {
                         infoCOntraDetails.ChequeDate = Convert.ToDateTime(dgvContraVoucher.Rows[i].Cells["dgvtxtChequeDate"].Value.ToString());
                     }
                     else
                     {
                         infoCOntraDetails.ChequeDate = Convert.ToDateTime("1/1/1753");
                     }
                     if (dgvContraVoucher.Rows[i].Cells["dgvtxtAmount"].Value != null && dgvContraVoucher.Rows[i].Cells["dgvtxtAmount"].Value.ToString() != "")
                     {
                         infoCOntraDetails.Amount = Convert.ToDecimal(dgvContraVoucher.Rows[i].Cells["dgvtxtAmount"].Value.ToString());
                         if (dgvContraVoucher.Rows[i].Cells["dgvtxtDetailsId"].Value != null && dgvContraVoucher.Rows[i].Cells["dgvtxtDetailsId"].Value.ToString() != "")
                         {
                             infoCOntraDetails.ContraDetailsId = Convert.ToDecimal(dgvContraVoucher.Rows[i].Cells["dgvtxtDetailsId"].Value.ToString());
                             decContraDetailsId = infoCOntraDetails.ContraDetailsId;
                             decSelectedCurrencyRate = spExchangeRate.GetExchangeRateByExchangeRateId(Convert.ToDecimal(dgvContraVoucher.Rows[i].Cells["dgvcmbCurrency"].Value.ToString()));
                             decAmount = Convert.ToDecimal(dgvContraVoucher.Rows[i].Cells["dgvtxtAmount"].Value.ToString());
                             decConvertRate = decAmount * decSelectedCurrencyRate;
                             if (rbtnDeposit.Checked)
                             {
                                 decCredit = decConvertRate;
                                 decDebit = 0;
                             }
                             else
                             {
                                 decDebit = decConvertRate;
                                 decCredit = 0;
                             }
                             infoCOntraDetails.ContraMasterId = decMasterId;
                             infoCOntraDetails.ExchangeRateId = Convert.ToDecimal(dgvContraVoucher.Rows[i].Cells["dgvcmbCurrency"].Value.ToString());
                             spContraDetails.ContraDetailsEdit(infoCOntraDetails);
                             decLedgerPostId = Convert.ToDecimal(dgvContraVoucher.Rows[i].Cells["dgvtxtLedgerPostingId"].Value.ToString());
                             LedgerPostingEdit(decLedgerPostId, decLedgerId, decCredit, decDebit, decContraDetailsId, i);
                         }
                         else
                         {
                             infoCOntraDetails.ExchangeRateId = Convert.ToDecimal(dgvContraVoucher.Rows[i].Cells["dgvcmbCurrency"].Value.ToString());
                             decSelectedCurrencyRate = spExchangeRate.GetExchangeRateByExchangeRateId(Convert.ToDecimal(dgvContraVoucher.Rows[i].Cells["dgvcmbCurrency"].Value.ToString()));
                             decAmount = Convert.ToDecimal(dgvContraVoucher.Rows[i].Cells["dgvtxtAmount"].Value.ToString());
                             decConvertRate = decAmount * decSelectedCurrencyRate;
                             if (rbtnDeposit.Checked)
                             {
                                 decCredit = decConvertRate;
                                 decDebit = 0;
                             }
                             else
                             {
                                 decDebit = decConvertRate;
                                 decCredit = 0;
                             }
                             decContraDetailsId = spContraDetails.ContraDetailsAddReturnWithhIdentity(infoCOntraDetails);
                             LedgerPosting(decLedgerId, decCredit, decDebit, decContraDetailsId, i);
                         }
                     }
                 }
                 spContraMaster.ContraMasterEdit(infoContraMaster);
                 decLedgerPostId = spLedgerPosting.LedgerPostingIdForTotalAmount(strVoucherNo, DecContraVoucherTypeId);
                 decAmount = Convert.ToDecimal(txtTotal.Text);
                 decContraDetailsId = 0;
                 if (rbtnDeposit.Checked)
                 {
                     decDebit = decAmount;
                     decCredit = 0;
                     LedgerPostingEdit(decLedgerPostId, decLedger1Id, decCredit, decDebit, decContraDetailsId, -1);
                 }
                 else
                 {
                     decCredit = decAmount;
                     decDebit = 0;
                     LedgerPostingEdit(decLedgerPostId, decLedger1Id, decCredit, decDebit, decContraDetailsId, -1);
                 }
                 Messages.UpdatedMessage();
                 if (cbxPrintafterSave.Checked)
                 {
                     if (spSettings.SettingsStatusCheck("Printer") == "Dot Matrix")
                     {
                         PrintForDotMatrix(decMasterId);
                     }
                     else
                     {
                         Print(decMasterId);
                     }
                 }
                 this.Close();
             }
             else
             {
                 Messages.InformationMessage("Cannot save total amount as 0");
                 dgvContraVoucher.Focus();
             }
         }
         else
         {
             Messages.InformationMessage("Cant update contra voucher without atleast one ledger with complete details");
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("CV:17" + ex.Message, "OpenMiracle", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
 }
Пример #6
0
 /// <summary>
 /// Save function Call the ledger posting function also
 /// </summary>
 public void SaveFuction()
 {
     try
     {
         decimal decContraDetailsId = 0;
         ContraMasterSP spContraMaster = new ContraMasterSP();
         ContraMasterInfo infoContraMaster = new ContraMasterInfo();
         ContraDetailsSP spContraDetails = new ContraDetailsSP();
         ContraDetailsInfo infoCOntraDetails = new ContraDetailsInfo();
         ExchangeRateSP spExchangeRate = new ExchangeRateSP();
         decimal decIdentity = 0;
         decimal decLedgerId = 0;
         decimal decDebit = 0;
         decimal decCredit = 0;
         int inCount = dgvContraVoucher.RowCount;
         int inValue = 0;
         for (int i = 0; i < inCount - 1; i++)
         {
             if (dgvContraVoucher.Rows[i].Cells["dgvcmbBankorCashAccount"].Value != null &&
                 dgvContraVoucher.Rows[i].Cells["dgvcmbBankorCashAccount"].Value.ToString() != null)
             {
                 inValue++;
             }
         }
         if (inValue > 0)
         {
             if (Convert.ToDecimal(txtTotal.Text) != 0)
             {
                 infoContraMaster.LedgerId = Convert.ToDecimal(cmbBankAccount.SelectedValue.ToString());
                 if (isAutomatic)
                 {
                     infoContraMaster.VoucherNo = strVoucherNo;
                 }
                 else
                 {
                     decimal decVoucherNo = spContraMaster.ContraVoucherMasterGetMaxPlusOne(DecContraVoucherTypeId) + 1;
                     infoContraMaster.VoucherNo = Convert.ToString(decVoucherNo);
                 }
                 infoContraMaster.Date = Convert.ToDateTime(dtpContraVoucherDate.Text.ToString());
                 infoContraMaster.Narration = txtNarration.Text.Trim();
                 infoContraMaster.TotalAmount = Convert.ToDecimal(txtTotal.Text);
                 infoContraMaster.Extra1 = string.Empty;
                 infoContraMaster.Extra2 = string.Empty;
                 if (rbtnDeposit.Checked)
                 {
                     infoContraMaster.Type = "Deposit";
                 }
                 else
                 {
                     infoContraMaster.Type = "Withdraw";
                 }
                 infoContraMaster.SuffixPrefixId = decContraSuffixPrefixId;
                 infoContraMaster.VoucherTypeId = DecContraVoucherTypeId;
                 infoContraMaster.FinancialYearId = PublicVariables._decCurrentFinancialYearId;
                 infoContraMaster.UserId = PublicVariables._decCurrentUserId;
                 if (isAutomatic)
                 {
                     infoContraMaster.InvoiceNo = strInvoiceNo;
                 }
                 else
                 {
                     infoContraMaster.InvoiceNo = txtVoucherNo.Text;
                 }
                 decIdentity = spContraMaster.ContraMasterAdd(infoContraMaster);
                 infoCOntraDetails.ContraMasterId = decIdentity;
                 infoCOntraDetails.Extra1 = string.Empty;
                 infoCOntraDetails.Extra2 = string.Empty;
                 int inRowCount = dgvContraVoucher.RowCount;
                 //-------------------------------Saving grid details--------------------------------------------------------------------
                 for (int i = 0; i < inRowCount - 1; i++)
                 {
                     if (dgvContraVoucher.Rows[i].Cells["dgvcmbBankorCashAccount"].Value != null && dgvContraVoucher.Rows[i].Cells["dgvcmbBankorCashAccount"].Value.ToString() != string.Empty)
                     {
                         infoCOntraDetails.LedgerId = Convert.ToDecimal(dgvContraVoucher.Rows[i].Cells["dgvcmbBankorCashAccount"].Value.ToString());
                     }
                     if (dgvContraVoucher.Rows[i].Cells["dgvtxtAmount"].Value != null && dgvContraVoucher.Rows[i].Cells["dgvtxtAmount"].Value.ToString() != string.Empty)
                     {
                         infoCOntraDetails.Amount = Convert.ToDecimal(dgvContraVoucher.Rows[i].Cells["dgvtxtAmount"].Value.ToString());
                     }
                     if (dgvContraVoucher.Rows[i].Cells["dgvtxtChequeNo"].Value != null && dgvContraVoucher.Rows[i].Cells["dgvtxtChequeNo"].Value.ToString() != string.Empty)
                     {
                         infoCOntraDetails.ChequeNo = dgvContraVoucher.Rows[i].Cells["dgvtxtChequeNo"].Value.ToString();
                     }
                     else
                     {
                         infoCOntraDetails.ChequeNo = string.Empty;
                     }
                     if (dgvContraVoucher.Rows[i].Cells["dgvtxtChequeDate"].Value != null && dgvContraVoucher.Rows[i].Cells["dgvtxtChequeDate"].Value.ToString() != string.Empty)
                     {
                         infoCOntraDetails.ChequeDate = Convert.ToDateTime(dgvContraVoucher.Rows[i].Cells["dgvtxtChequeDate"].Value.ToString());
                     }
                     else
                     {
                         infoCOntraDetails.ChequeDate = Convert.ToDateTime("1/1/1753");
                     }
                     infoCOntraDetails.ExchangeRateId = Convert.ToDecimal(dgvContraVoucher.Rows[i].Cells["dgvcmbCurrency"].Value.ToString());
                     decContraDetailsId = spContraDetails.ContraDetailsAddReturnWithhIdentity(infoCOntraDetails);
                     //---------------------------------------------------------Ledger Posting-----------------------------------------/---------------------------------------------------/
                     if (dgvContraVoucher.Rows[i].Cells["dgvcmbBankorCashAccount"].Value != null && dgvContraVoucher.Rows[i].Cells["dgvcmbBankorCashAccount"].Value.ToString() != string.Empty)
                     {
                         decLedgerId = Convert.ToDecimal(dgvContraVoucher.Rows[i].Cells["dgvcmbBankorCashAccount"].Value.ToString());
                     }
                     if (dgvContraVoucher.Rows[i].Cells["dgvtxtAmount"].Value != null && dgvContraVoucher.Rows[i].Cells["dgvtxtAmount"].Value.ToString() != string.Empty)
                     {
                         decSelectedCurrencyRate = spExchangeRate.GetExchangeRateByExchangeRateId(Convert.ToDecimal(dgvContraVoucher.Rows[i].Cells["dgvcmbCurrency"].Value));
                         decAmount = Convert.ToDecimal(dgvContraVoucher.Rows[i].Cells["dgvtxtAmount"].Value.ToString());
                         decConvertRate = decAmount * decSelectedCurrencyRate;
                         if (rbtnDeposit.Checked)
                         {
                             decCredit = decConvertRate;
                             decDebit = 0;
                             LedgerPosting(decLedgerId, decCredit, decDebit, decContraDetailsId, i);
                         }
                         else
                         {
                             decDebit = decConvertRate;
                             decCredit = 0;
                             LedgerPosting(decLedgerId, decCredit, decDebit, decContraDetailsId, i);
                         }
                     }
                 }
                 decAmount = Convert.ToDecimal(txtTotal.Text);
                 decContraDetailsId = 0;
                 if (rbtnDeposit.Checked)
                 {
                     decDebit = decAmount;
                     decCredit = 0;
                     LedgerPosting(infoContraMaster.LedgerId, decCredit, decDebit, decContraDetailsId, -1);
                 }
                 else
                 {
                     decCredit = decAmount;
                     decDebit = 0;
                     LedgerPosting(infoContraMaster.LedgerId, decCredit, decDebit, decContraDetailsId, -1);
                 }
                 //------------------------------------------------------------------Ledger Posting---end---------------------------------------------------------------------//
                 Messages.SavedMessage();
                 if (cbxPrintafterSave.Checked)
                 {
                     if (spSettings.SettingsStatusCheck("Printer") == "Dot Matrix")
                     {
                         PrintForDotMatrix(decIdentity);
                     }
                     else
                     {
                         Print(decIdentity);
                     }
                 }
                 Clear();
             }
             else
             {
                 Messages.InformationMessage("Cannot save total debit and credit as 0");
                 dgvContraVoucher.Focus();
             }
         }
         else
         {
             Messages.InformationMessage("Cant save contra voucher without atleast one ledger with complete details");
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("CV:16" + ex.Message, "OpenMiracle", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
 }