Exemplo n.º 1
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);
     }
 }