protected void gvExpense_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            ClaimExpense claimExpense = null;
            int claimID = SessionHelper.getClaimID();
            int id = 0;

            if (e.CommandName == "DoEdit") {
                id = Convert.ToInt32(e.CommandArgument);

                using (ClaimExpenseManager repository = new ClaimExpenseManager()) {
                    claimExpense = repository.Get(id);
                }
                if (claimExpense != null)
                {
                    txtExpenseAmount.Value = claimExpense.ExpenseAmount;
                    txtExpenseQty.Value = claimExpense.ExpenseQty;

                    if (claimExpense.ExpenseDate != null)
                        txtExpenseDate.Value = claimExpense.ExpenseDate;

                    txtExpenseDescription.Text = claimExpense.ExpenseDescription;
                    cbxExpenseReimburse.Checked = claimExpense.IsReimbursable;
                    ddlExpenseType.SelectedValue = claimExpense.ExpenseTypeID.ToString();
                    txtMyComments.Text = claimExpense.InternalComments;
                    //cbIsBillable.Checked = claimExpense.IsBillable.Value;
                    //NEW OC 10/7/2014 // PUT IN PLACE TO GRAB THE NEW RATE IF USER HITS EDIT
                    ExpenseType expense = null;
                    int expenseID = 0;
                    if (ddlExpenseType.SelectedIndex > 0)
                    {
                        expenseID = Convert.ToInt32(ddlExpenseType.SelectedValue);

                        using (ExpenseTypeManager repository = new ExpenseTypeManager())
                        {
                            expense = repository.Get(expenseID);
                            if (expense != null)
                            {
                                txtExpenseAmount.Value = expense.ExpenseRate;
                                Session["multiplier"] = expense.ExpenseRate;
                            }
                        }

                    }
                    // END NEW OC 10/7/2014

                    if (claimExpense.AdjusterID != null) {
                        txtExpenseAdjuster.Text = claimExpense.AdjusterMaster.adjusterName;
                        hf_expenseAdjusterID.Value = claimExpense.AdjusterMaster.AdjusterId.ToString();
                    }

                    showExpenseEditPanel();

                    ViewState["ClaimExpenseID"] = e.CommandArgument.ToString();
                }
            }
            else if (e.CommandName == "DoDelete") {
                id = Convert.ToInt32(e.CommandArgument);

                try {
                    using (ClaimExpenseManager repository = new ClaimExpenseManager()) {
                        repository.Delete(id);
                    }

                    // refresh grid
                    gvExpense.DataSource = loadExpenses(claimID);
                    gvExpense.DataBind();
                }
                catch (Exception ex) {
                    Core.EmailHelper.emailError(ex);

                    lblMessage.Text = "Unable to delete claim expense.";
                    lblMessage.CssClass = "error";
                }
            }
        }