private void UploadFile() { string fileName = Path.GetFileName(fuReciept.PostedFile.FileName); try { if (fileName != String.Empty) { ELRAttachment attachment = new ELRAttachment(); attachment.FilePath = "~/ELUploads/" + fileName; fuReciept.PostedFile.SaveAs(Server.MapPath("~/ELUploads/") + fileName); //Response.Redirect(Request.Url.AbsoluteUri); _presenter.CurrentTravelAdvanceRequest.ExpenseLiquidationRequest.ELRAttachments.Add(attachment); grvAttachments.DataSource = _presenter.CurrentTravelAdvanceRequest.ExpenseLiquidationRequest.ELRAttachments; grvAttachments.DataBind(); } else { Master.ShowMessage(new AppMessage("Please select file ", Chai.WorkflowManagment.Enums.RMessageType.Error)); } } catch (HttpException ex) { Master.ShowMessage(new AppMessage("Unable to upload the file,The file is to big or The internet is too slow " + ex.InnerException.Message, Chai.WorkflowManagment.Enums.RMessageType.Error)); } }
protected void dgExpenseLiquidationDetail_ItemCommand(object source, DataGridCommandEventArgs e) { if (e.CommandName == "AddNew") { decimal totalActExp = 0; try { ExpenseLiquidationRequestDetail elrd = new ExpenseLiquidationRequestDetail(); elrd.ExpenseLiquidationRequest = _presenter.CurrentTravelAdvanceRequest.ExpenseLiquidationRequest; DropDownList ddlFAccountDescription = e.Item.FindControl("ddlFAccountDescription") as DropDownList; elrd.ItemAccount = _presenter.GetItemAccount(Convert.ToInt32(ddlFAccountDescription.SelectedValue)); DropDownList ddlExpenseType = e.Item.FindControl("ddlExpenseType") as DropDownList; elrd.ExpenseType = _presenter.GetExpenseType(Convert.ToInt32(ddlExpenseType.SelectedValue)); DropDownList ddlFProject = e.Item.FindControl("ddlFProject") as DropDownList; elrd.Project = _presenter.GetProject(Convert.ToInt32(ddlFProject.SelectedValue)); DropDownList ddlFGrant = e.Item.FindControl("ddlFGrant") as DropDownList; elrd.Grant = _presenter.GetGrant(Convert.ToInt32(ddlFGrant.SelectedValue)); TextBox txtFAmount = e.Item.FindControl("txtFAmount") as TextBox; elrd.AmountAdvanced = Convert.ToDecimal(txtFAmount.Text); TextBox txtFActualExpenditure = e.Item.FindControl("txtFActualExpenditure") as TextBox; elrd.ActualExpenditure = Convert.ToDecimal(txtFActualExpenditure.Text); TextBox txtFVariance = e.Item.FindControl("txtFVariance") as TextBox; txtFVariance.Text = (elrd.AmountAdvanced - elrd.ActualExpenditure).ToString(); elrd.Variance = Convert.ToDecimal(txtFVariance.Text); //Add Checklists for attachments if available foreach (ItemAccountChecklist checklist in elrd.ItemAccount.ItemAccountChecklists) { ELRAttachment attachment = new ELRAttachment(); attachment.ExpenseLiquidationRequestDetail = elrd; attachment.ItemAccountChecklists.Add(checklist); elrd.ELRAttachments.Add(attachment); } _presenter.CurrentTravelAdvanceRequest.ExpenseLiquidationRequest.ExpenseLiquidationRequestDetails.Add(elrd); foreach (ExpenseLiquidationRequestDetail eld in _presenter.CurrentTravelAdvanceRequest.ExpenseLiquidationRequest.ExpenseLiquidationRequestDetails) { totalActExp += eld.ActualExpenditure; } _presenter.CurrentTravelAdvanceRequest.ExpenseLiquidationRequest.TotalActualExpenditure = totalActExp; txtTotActual.Text = (_presenter.CurrentTravelAdvanceRequest.ExpenseLiquidationRequest.TotalActualExpenditure).ToString(); BindAttachments(); dgExpenseLiquidationDetail.EditItemIndex = -1; BindExpenseLiquidationDetailGrid(); Master.ShowMessage(new AppMessage("Expense Liquidation Detail Successfully Added!", RMessageType.Info)); } catch (Exception ex) { Master.ShowMessage(new AppMessage("Error: Unable to Add Expense Liquidation Detail " + ex.Message, RMessageType.Error)); ExceptionUtility.LogException(ex, ex.Source); ExceptionUtility.NotifySystemOps(ex, _presenter.CurrentUser().FullName); } } }
protected void grvAttachments_SelectedIndexChanged(object sender, EventArgs e) { if (_presenter.CurrentPaymentReimbursementRequest != null) { int attachmentId = Convert.ToInt32(grvAttachments.SelectedDataKey.Value); ELRAttachment attachment = _presenter.GetAttachment(attachmentId); string Filename = attachment.FilePath; System.Web.HttpContext context = System.Web.HttpContext.Current; context.Response.Clear(); context.Response.ClearHeaders(); context.Response.ClearContent(); //context.Response.AppendHeader("content-length", FileData.Length.ToString()); context.Response.ContentType = GetMimeTypeByFileName(Filename); context.Response.AppendHeader("content-disposition", "attachment; filename=" + Filename); // context.Response.BinaryWrite(FileData); context.ApplicationInstance.CompleteRequest(); } }
protected void dgExpenseLiquidationDetail_UpdateCommand(object source, DataGridCommandEventArgs e) { int eldId = (int)dgExpenseLiquidationDetail.DataKeys[e.Item.ItemIndex]; ExpenseLiquidationRequestDetail elrd; decimal totalActExp = 0; if (eldId > 0) { elrd = _presenter.CurrentTravelAdvanceRequest.ExpenseLiquidationRequest.GetExpenseLiquidationRequestDetail(eldId); } else { elrd = _presenter.CurrentTravelAdvanceRequest.ExpenseLiquidationRequest.ExpenseLiquidationRequestDetails[e.Item.ItemIndex]; } try { DropDownList ddlAccountDescription = e.Item.FindControl("ddlAccountDescription") as DropDownList; elrd.ItemAccount = _presenter.GetItemAccount(Convert.ToInt32(ddlAccountDescription.SelectedValue)); DropDownList ddlProject = e.Item.FindControl("ddlProject") as DropDownList; elrd.Project = _presenter.GetProject(Convert.ToInt32(ddlProject.SelectedValue)); DropDownList ddlGrant = e.Item.FindControl("ddlGrant") as DropDownList; elrd.Grant = _presenter.GetGrant(Convert.ToInt32(ddlGrant.SelectedValue)); DropDownList ddlEdtExpenseType = e.Item.FindControl("ddlEdtExpenseType") as DropDownList; elrd.ExpenseType = _presenter.GetExpenseType(Convert.ToInt32(ddlEdtExpenseType.SelectedValue)); TextBox txtAmount = e.Item.FindControl("txtAmount") as TextBox; elrd.AmountAdvanced = Convert.ToDecimal(txtAmount.Text); TextBox txtActualExpenditure = e.Item.FindControl("txtActualExpenditure") as TextBox; elrd.ActualExpenditure = Convert.ToDecimal(txtActualExpenditure.Text); TextBox txtVariance = e.Item.FindControl("txtVariance") as TextBox; txtVariance.Text = (elrd.AmountAdvanced - elrd.ActualExpenditure).ToString(); elrd.Variance = Convert.ToDecimal(txtVariance.Text); foreach (ExpenseLiquidationRequestDetail eld in _presenter.CurrentTravelAdvanceRequest.ExpenseLiquidationRequest.ExpenseLiquidationRequestDetails) { totalActExp += eld.ActualExpenditure; } _presenter.CurrentTravelAdvanceRequest.ExpenseLiquidationRequest.TotalActualExpenditure = totalActExp; txtTotActual.Text = (_presenter.CurrentTravelAdvanceRequest.ExpenseLiquidationRequest.TotalActualExpenditure).ToString(); //Add Checklists for attachments if available but clear all attachments first because this is update elrd.ELRAttachments = new List <ELRAttachment>(); foreach (ItemAccountChecklist checklist in elrd.ItemAccount.ItemAccountChecklists) { ELRAttachment attachment = new ELRAttachment(); attachment.ExpenseLiquidationRequestDetail = elrd; attachment.ItemAccountChecklists.Add(checklist); elrd.ELRAttachments.Add(attachment); } BindAttachments(); dgExpenseLiquidationDetail.EditItemIndex = -1; BindExpenseLiquidationDetailGrid(); Master.ShowMessage(new AppMessage("Liquidation Detail Successfully Updated", RMessageType.Info)); } catch (Exception ex) { Master.ShowMessage(new AppMessage("Error: Unable to Update liquidation detail. " + ex.Message, RMessageType.Error)); ExceptionUtility.LogException(ex, ex.Source); ExceptionUtility.NotifySystemOps(ex, _presenter.CurrentUser().FullName); } }