private void saveDataCharge(BEXPORT_LC ExLC)
 {
     if (ExLC.WaiveCharges.Equals(bd.YesNo.NO))
     {
         BEXPORT_LC_CHARGES ExLCCharge;
         if (tbChargeAmt1.Value.HasValue)
         {
             ExLCCharge = new BEXPORT_LC_CHARGES();
             saveCharge(txtChargeCode1, rcbChargeCcy1, rcbChargeAcct1, tbChargeAmt1, rcbPartyCharged1, rcbAmortCharge1, rcbChargeStatus1, lblTaxCode1, lblTaxAmt1, ref ExLCCharge);
             dbEntities.BEXPORT_LC_CHARGES.Add(ExLCCharge);
         }
         if (tbChargeAmt2.Value.HasValue)
         {
             ExLCCharge = new BEXPORT_LC_CHARGES();
             saveCharge(txtChargeCode2, rcbChargeCcy2, rcbChargeAcct2, tbChargeAmt2, rcbPartyCharged2, rcbAmortCharge2, rcbChargeStatus2, lblTaxCode2, lblTaxAmt2, ref ExLCCharge);
             dbEntities.BEXPORT_LC_CHARGES.Add(ExLCCharge);
         }
         if (tbChargeAmt3.Value.HasValue)
         {
             ExLCCharge = new BEXPORT_LC_CHARGES();
             saveCharge(txtChargeCode3, rcbChargeCcy3, rcbChargeAcct3, tbChargeAmt3, rcbPartyCharged3, rcbAmortCharge3, rcbChargeStatus3, lblTaxCode3, lblTaxAmt3, ref ExLCCharge);
             dbEntities.BEXPORT_LC_CHARGES.Add(ExLCCharge);
         }
     }
 }
 private void loadCharge(BEXPORT_LC_CHARGES ExLCCharge, ref RadTextBox txtChargeCode, ref RadComboBox cbChargeCcy, ref RadComboBox cbChargeAcc, ref RadNumericTextBox txtChargeAmt,
     ref RadComboBox cbChargeParty, ref RadComboBox cbChargeAmort, ref RadComboBox cbChargeStatus, ref Label lblTaxCode, ref Label lblTaxAmt)
 {
     txtChargeCode.Text = ExLCCharge.ChargeCode;
     cbChargeCcy.SelectedValue = ExLCCharge.ChargeCcy;
     LoadChargeAcct(ref cbChargeAcc, cbChargeCcy.SelectedValue);
     cbChargeAcc.SelectedValue = ExLCCharge.ChargeAcc;
     txtChargeAmt.Value = ExLCCharge.ChargeAmt;
     cbChargeParty.SelectedValue = ExLCCharge.PartyCharged;
     cbChargeAmort.SelectedValue = ExLCCharge.AmortCharge;
     cbChargeStatus.SelectedValue = ExLCCharge.ChargeStatus;
     lblTaxCode.Text = ExLCCharge.TaxCode;
     if (ExLCCharge.TaxAmt.HasValue)
         lblTaxAmt.Text = ExLCCharge.TaxAmt.ToString();
 }
 private void saveCharge(RadTextBox txtChargeCode, RadComboBox cbChargeCcy, RadComboBox cbChargeAcc, RadNumericTextBox txtChargeAmt, RadComboBox cbChargeParty, RadComboBox cbChargeAmort,
     RadComboBox cbChargeStatus, Label lblTaxCode, Label lblTaxAmt, ref BEXPORT_LC_CHARGES ExLCCharge)
 {
     ExLCCharge.ExportLCCode = tbLCCode.Text;
     ExLCCharge.ChargeCode = txtChargeCode.Text;
     ExLCCharge.ChargeCcy = cbChargeCcy.SelectedValue;
     ExLCCharge.ChargeAcc = cbChargeAcc.SelectedValue;
     ExLCCharge.ChargeAmt = txtChargeAmt.Value;
     ExLCCharge.PartyCharged = cbChargeParty.SelectedValue;
     ExLCCharge.AmortCharge = cbChargeAmort.SelectedValue;
     ExLCCharge.ChargeStatus = cbChargeStatus.SelectedValue;
     ExLCCharge.TaxCode = lblTaxCode.Text;
     ExLCCharge.TabId = TabId;
     if (!string.IsNullOrEmpty(lblTaxAmt.Text))
         ExLCCharge.TaxAmt = Convert.ToDouble(lblTaxAmt.Text);
 }
        protected void RadToolBar1_ButtonClick(object sender, RadToolBarEventArgs e)
        {
            string LCCode = tbLCCode.Text.Trim(), AmendNo = tbLCCode.Text.Trim() + "." + txtNumberOfAmendment.Value.Value;
            if (tbLCCode.Text.IndexOf(".") > 0)
            {
                LCCode = tbLCCode.Text.Substring(0, tbLCCode.Text.IndexOf("."));
                AmendNo = tbLCCode.Text.Trim();
            }
            var ExLC = dbEntities.findExportLC(LCCode);
            var ExLCAmend = dbEntities.findExportLCAmend(AmendNo);
            var toolBarButton = e.Item as RadToolBarButton;
            var commandName = toolBarButton.CommandName.ToLower();
            switch (commandName)
            {
                case bc.Commands.Commit:
                    if (ExLCAmend == null)
                    {
                        ExLCAmend = new BEXPORT_LC_AMEND();
                        ExLCAmend.AmendNo = AmendNo;
                        ExLCAmend.AmendStatus = bd.TransactionStatus.UNA;
                        ExLCAmend.AmendBy = this.UserInfo.Username;
                        ExLCAmend.AmendDate = DateTime.Now;
                        saveLCAmend(ref ExLCAmend);
                        dbEntities.BEXPORT_LC_AMEND.Add(ExLCAmend);
                    }
                    else
                    {
                        ExLCAmend.AmendNo = AmendNo;
                        ExLCAmend.AmendStatus = bd.TransactionStatus.UNA;
                        saveLCAmend(ref ExLCAmend);
                        //Xoa di insert lai
                        var ExLCCharge = dbEntities.BEXPORT_LC_CHARGES.Where(p => p.ExportLCCode.Trim().ToLower().Equals(AmendNo.ToLower()));
                        if (ExLCCharge != null)
                        {
                            foreach (BEXPORT_LC_CHARGES ch in ExLCCharge)
                            {
                                dbEntities.BEXPORT_LC_CHARGES.Remove(ch);
                            }
                        }
                    }
                    if (ExLCAmend.WaiveCharges.Equals(bd.YesNo.NO))
                    {
                        BEXPORT_LC_CHARGES ExLCCharge;
                        if (tbChargeAmt1.Value.HasValue)
                        {
                            ExLCCharge = new BEXPORT_LC_CHARGES();
                            saveCharge(ExLCAmend.AmendNo, txtChargeCode1, rcbChargeCcy1, rcbChargeAcct1, tbChargeAmt1, rcbPartyCharged1, rcbAmortCharge1, rcbChargeStatus1, lblTaxCode1, lblTaxAmt1, ref ExLCCharge);
                            dbEntities.BEXPORT_LC_CHARGES.Add(ExLCCharge);
                        }
                        if (tbChargeAmt2.Value.HasValue)
                        {
                            ExLCCharge = new BEXPORT_LC_CHARGES();
                            saveCharge(ExLCAmend.AmendNo, txtChargeCode2, rcbChargeCcy2, rcbChargeAcct2, tbChargeAmt2, rcbPartyCharged2, rcbAmortCharge2, rcbChargeStatus2, lblTaxCode2, lblTaxAmt2, ref ExLCCharge);
                            dbEntities.BEXPORT_LC_CHARGES.Add(ExLCCharge);
                        }
                        if (tbChargeAmt3.Value.HasValue)
                        {
                            ExLCCharge = new BEXPORT_LC_CHARGES();
                            saveCharge(ExLCAmend.AmendNo, txtChargeCode3, rcbChargeCcy3, rcbChargeAcct3, tbChargeAmt3, rcbPartyCharged3, rcbAmortCharge3, rcbChargeStatus3, lblTaxCode3, lblTaxAmt3, ref ExLCCharge);
                            dbEntities.BEXPORT_LC_CHARGES.Add(ExLCCharge);
                        }
                    }
                    //
                    ExLC.AmendStatus = bd.TransactionStatus.UNA;
                    ExLC.AmendBy = this.UserInfo.Username;
                    ExLC.AmendDate = DateTime.Now;
                    //
                    try
                    {
                        dbEntities.SaveChanges();
                    }
                    catch (DbEntityValidationException dbEx)
                    {
                        foreach (var validationErrors in dbEx.EntityValidationErrors)
                        {
                            foreach (var validationError in validationErrors.ValidationErrors)
                            {
                                System.Diagnostics.Trace.TraceInformation("Class: {0}, Property: {1}, Error: {2}",
                                    validationErrors.Entry.Entity.GetType().FullName,
                                    validationError.PropertyName,
                                    validationError.ErrorMessage);
                            }
                        }

                        throw;  // You can also choose to handle the exception here...
                    }
                    //
                    Response.Redirect("Default.aspx?tabid=" + this.TabId);
                    break;
                case bc.Commands.Authorize:
                case bc.Commands.Reverse:
                    if (commandName.Equals(bc.Commands.Authorize))
                    {
                        ExLC.AmendStatus = bd.TransactionStatus.AUT;
                        ExLCAmend.AmendStatus = bd.TransactionStatus.AUT;
                        ExLC.Amount = ExLCAmend.NewDocumentaryCreditAmountAfterAmendment;
                        //
                        dbEntities.SaveChanges();
                        Response.Redirect("Default.aspx?tabid=" + this.TabId);
                        return;
                    }
                    //
                    ExLC.AmendStatus = bd.TransactionStatus.REV;
                    ExLCAmend.AmendStatus = bd.TransactionStatus.REV;
                    dbEntities.SaveChanges();
                    Response.Redirect("Default.aspx?tabid=" + this.TabId + "&code=" + tbLCCode.Text);
                    break;
            }
        }