Exemple #1
0
        protected void dgTravelAdvanceRequestCost_UpdateCommand(object source, DataGridCommandEventArgs e)
        {
            tac = Session["tac"] as TravelAdvanceRequestDetail;
            int id = (int)dgTravelAdvanceRequestCost.DataKeys[e.Item.ItemIndex];
            TravelAdvanceCost taCost;
            decimal           pretacost = 0;

            if (id > 0)
            {
                taCost = tac.GetTravelAdvanceCost(id);
            }
            else
            {
                taCost = tac.TravelAdvanceCosts[e.Item.ItemIndex];
            }

            try
            {
                taCost.TravelAdvanceRequestDetail = taCost.TravelAdvanceRequestDetail;
                DropDownList ddlEdtAccountDescription = e.Item.FindControl("ddlEdtAccountDescription") as DropDownList;
                ItemAccount  itemEdtAccount           = _presenter.GetItemAccount(Convert.ToInt32(ddlEdtAccountDescription.SelectedValue));
                taCost.ItemAccount = itemEdtAccount;
                taCost.AccountCode = itemEdtAccount.AccountCode;
                DropDownList ddlExpenseType = e.Item.FindControl("ddlEdtExpenseType") as DropDownList;
                ExpenseType  expensetype    = _presenter.GetExpenseType(int.Parse(ddlExpenseType.SelectedValue));
                taCost.ExpenseType = expensetype;
                TextBox txtEdtDays = e.Item.FindControl("txtEdtDays") as TextBox;
                taCost.Days = Convert.ToInt32(txtEdtDays.Text);
                TextBox txtEdtUnitCost = e.Item.FindControl("txtEdtUnitCost") as TextBox;
                taCost.UnitCost = Convert.ToDecimal(txtEdtUnitCost.Text);
                TextBox txtEdtNoOfUnits = e.Item.FindControl("txtEdtNoOfUnits") as TextBox;
                taCost.NoOfUnits = Convert.ToInt32(txtEdtNoOfUnits.Text);
                //TextBox txtEdtTotal = e.Item.FindControl("txtEdtTotal") as TextBox;
                pretacost    = taCost.Total;
                taCost.Total = Convert.ToInt32(txtEdtDays.Text) * Convert.ToDecimal(txtEdtUnitCost.Text) * Convert.ToInt32(txtEdtNoOfUnits.Text);
                _presenter.CurrentTravelAdvanceRequest.TotalTravelAdvance = (_presenter.CurrentTravelAdvanceRequest.TotalTravelAdvance + taCost.Total) - pretacost;
                txtTotal.Text = (_presenter.CurrentTravelAdvanceRequest.TotalTravelAdvance).ToString();
                dgTravelAdvanceRequestCost.EditItemIndex = -1;
                BindCostsGrid(taCost.TravelAdvanceRequestDetail);
                ScriptManager.RegisterStartupScript(this, GetType(), "showCostModal", "showCostModal();", true);
                Master.ShowMessage(new AppMessage("Travel Advance Cost Successfully Updated", RMessageType.Info));
            }
            catch (Exception ex)
            {
                Master.ShowMessage(new AppMessage("Error: Unable to Update Travel Advance Cost " + ex.Message, RMessageType.Error));
                ExceptionUtility.LogException(ex, ex.Source);
                ExceptionUtility.NotifySystemOps(ex, _presenter.CurrentUser().FullName);
            }
        }