private void loadTransDetail(B_CollectCharges cc)
 {
     txtChargeAcct.Text = cc.ChargeAcct;
     lblChargeAcctName.Text = cc.ChargeAcctName;
     lblChargeCurrency.Text = cc.ChargeCurrency;
     cboTransactionType_ChargeCommission.SelectedValue = cc.TransactionType;
     loadChargeType();
     cboChargeType.SelectedValue = cc.ChargeType1;
     txtChargeAmount.Value = cc.ChargeAmount1;
     divChargeType1.Attributes.CssStyle.Remove("Display");
     if (!string.IsNullOrEmpty(cc.ChargeType2))
     {
         cboChargeType1.SelectedValue = cc.ChargeType2;
         txtChargeAmount1.Value = cc.ChargeAmount2;
     }
     else divChargeType1.Attributes.CssStyle.Add("Display", "none");
     divChargeType2.Attributes.CssStyle.Remove("Display");
     if (!string.IsNullOrEmpty(cc.ChargeType3))
     {
         cboChargeType2.SelectedValue = cc.ChargeType3;
         txtChargeAmount2.Value = cc.ChargeAmount3;
     }
     else divChargeType2.Attributes.CssStyle.Add("Display", "none");
     cboChargeFor.SelectedValue = cc.ChargeFor;
     txtVATNo.Text = cc.VATNo;
     txtAddRemarks_Charges1.Text = cc.AddRemarks1;
     txtAddRemarks_Charges2.Text = cc.AddRemarks2;
     cboAccountOfficer.SelectedValue = cc.AccountOfficer;
     if (cc.TotalChargeAmount.HasValue)
         lblTotalChargeAmount.Text = String.Format("{0:C}", cc.TotalChargeAmount.Value).Replace("$", "");
     if (cc.TotalTaxAmount.HasValue)
         lblTotalTaxAmount.Text = String.Format("{0:C}", cc.TotalTaxAmount.Value).Replace("$", "");
 }
        protected void RadToolBar1_ButtonClick(object sender, RadToolBarEventArgs e)
        {
            var toolBarButton = e.Item as RadToolBarButton;
            var commandName = toolBarButton.CommandName;
            B_CollectCharges cc;
            switch (commandName)
            {
                case bc.Commands.Commit:
                    cc = db.B_CollectCharges.Where(p => p.TransCode.Equals(txtCode.Text)).FirstOrDefault();
                    bool isUpdate = (cc != null);
                    if (!isUpdate)
                    {
                        cc = new B_CollectCharges();
                        cc.TransCode = txtCode.Text;
                        cc.Status = bd.TransactionStatus.UNA;
                        cc.UserCreate = this.UserInfo.Username;
                        cc.DateTimeCreate = DateTime.Now;
                    }
                    else
                    {
                        cc.Status = bd.TransactionStatus.UNA;
                        cc.UserUpdate = this.UserInfo.Username;
                        cc.DateTimeUpdate = DateTime.Now;
                    }
                    cc.ChargeAcct = txtChargeAcct.Text;
                    cc.ChargeAcctName = lblChargeAcctName.Text;
                    cc.ChargeCurrency = lblChargeCurrency.Text;
                    cc.TransactionType = cboTransactionType_ChargeCommission.SelectedValue;
                    cc.ChargeType1 = cboChargeType.SelectedValue;
                    cc.ChargeAmount1 = txtChargeAmount.Value;
                    cc.ChargeType2 = cboChargeType1.SelectedValue;
                    cc.ChargeAmount2 = txtChargeAmount1.Value;
                    cc.ChargeType3 = cboChargeType2.SelectedValue;
                    cc.ChargeAmount3 = txtChargeAmount2.Value;
                    cc.ChargeFor = cboChargeFor.SelectedValue;
                    cc.VATNo = txtVATNo.Text;
                    cc.AddRemarks1 = txtAddRemarks_Charges1.Text;
                    cc.AddRemarks2 = txtAddRemarks_Charges2.Text;
                    cc.AccountOfficer = cboAccountOfficer.SelectedValue;
                    if (!string.IsNullOrEmpty(lblTotalChargeAmount.Text))
                        cc.TotalChargeAmount = Convert.ToDouble(lblTotalChargeAmount.Text);
                    else
                        cc.TotalChargeAmount = null;
                    if (!string.IsNullOrEmpty(lblTotalTaxAmount.Text))
                        cc.TotalTaxAmount = Convert.ToDouble(lblTotalTaxAmount.Text);
                    else
                        cc.TotalTaxAmount = null;
                    if (!isUpdate) db.B_CollectCharges.Add(cc);

                    try
                    {
                        db.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:
                    cc = db.B_CollectCharges.Where(p => p.TransCode.Equals(txtCode.Text)).FirstOrDefault();
                    if (cc == null)
                    {
                        lblError.Text = "TransCode not found !";
                        return;
                    }
                    cc.Status = bd.TransactionStatus.AUT;
                    cc.UserApprove = this.UserInfo.Username;
                    cc.DateTimeApprove = DateTime.Now;

                    db.SaveChanges();

                    Response.Redirect("Default.aspx?tabid=" + this.TabId);
                    break;
                case bc.Commands.Reverse:
                    cc = db.B_CollectCharges.Where(p => p.TransCode.Equals(txtCode.Text)).FirstOrDefault();
                    if (cc == null)
                    {
                        lblError.Text = "TransCode not found !";
                        return;
                    }
                    cc.Status = bd.TransactionStatus.REV;
                    cc.UserUpdate = this.UserInfo.Username;
                    cc.DateTimeUpdate = DateTime.Now;

                    db.SaveChanges();
                    Response.Redirect("Default.aspx?tabid=" + this.TabId);
                    break;
            }
        }