private void GetClaimApplicationDetails_ByClaimApplicationId(int ClaimApplicationId) { DataSet dsClaimApplicationDetails = new Business.ClaimManagement.ClaimApplication().GetClaimApplicationDetails_ByClaimApplicationId(ClaimApplicationId); if (dsClaimApplicationDetails != null) { lblClaimApplicationNumber.Text = dsClaimApplicationDetails.Tables[0].Rows[0]["ClaimNo"].ToString(); lblName.Text = dsClaimApplicationDetails.Tables[0].Rows[0]["Requestor"].ToString(); lblFromDate.Text = dsClaimApplicationDetails.Tables[0].Rows[0]["FromDate"].ToString(); lblToDate.Text = dsClaimApplicationDetails.Tables[0].Rows[0]["ToDate"].ToString(); lblTotalClaimCount.Text = dsClaimApplicationDetails.Tables[0].Rows[0]["TotalAmount"].ToString(); lblClaimHeader.Text = dsClaimApplicationDetails.Tables[0].Rows[0]["ClaimHeading"].ToString(); } gvClaimDetails.DataSource = dsClaimApplicationDetails.Tables[2]; gvClaimDetails.DataBind(); ComputeTotalApprovedAmount(); if (dsClaimApplicationDetails.Tables.Count > 1) { gvApprovalHistory.DataSource = dsClaimApplicationDetails.Tables[1]; gvApprovalHistory.DataBind(); } }
private List <Models.ClaimModel> GetPendingClaim(int employeeId) { List <Models.ClaimModel> model = new List <Models.ClaimModel>(); DataTable dtPendingClaim = new Business.ClaimManagement.ClaimApplication().ClaimApplication_GetAll( new Entity.ClaimManagement.ClaimApplicationMaster() { EmployeeId = employeeId, Status = (int)ClaimStatusEnum.Pending } ); if (dtPendingClaim != null && dtPendingClaim.AsEnumerable().Any()) { foreach (DataRow dr in dtPendingClaim.Rows) { model.Add(new Models.ClaimModel { ClaimNo = string.Format("Claim No: {0}", dr["ClaimNo"].ToString()), ClaimHeading = string.Format("Claim Header: {0}", dr["ClaimHeading"].ToString()), ClaimDateTime = string.Format("Claim Date: {0}", dr["ClaimDateTime"].ToString()), PeriodFrom = string.Format("Period From: {0}", dr["PeriodFrom"].ToString()), PeriodTo = string.Format("Period To: {0}", dr["PeriodTo"].ToString()), StatusName = string.Format("Claim Status: {0}", dr["StatusName"].ToString()), TotalAmount = string.Format("Claim Amount: {0}", dr["TotalAmount"].ToString()) }); } } return(model); }
private int Claim_Heading_Update(int claimApplicationId, string claimHeading) { Business.ClaimManagement.ClaimApplication objClaimApplication = new Business.ClaimManagement.ClaimApplication(); return(objClaimApplication.Claim_HeadingUpdate(new Entity.ClaimManagement.ClaimApplicationMaster() { ClaimApplicationId = claimApplicationId, ClaimHeading = claimHeading })); }
private void ClaimApplicationMaster_GetAll() { DataTable dtClaimApplicationMaster = new Business.ClaimManagement.ClaimApplication() .ClaimApplication_GetAll(new Entity.ClaimManagement.ClaimApplicationMaster() { EmployeeId = Convert.ToInt32(HttpContext.Current.User.Identity.Name) }); gvClaimApplicationList.DataSource = dtClaimApplicationMaster; gvClaimApplicationList.DataBind(); }
private void ClaimApplication_GetAll() { Entity.ClaimManagement.ClaimApplicationMaster ClaimApplicationMaster = new Entity.ClaimManagement.ClaimApplicationMaster(); ClaimApplicationMaster.EmployeeId = Convert.ToInt32(ddlEmployee.SelectedValue); ClaimApplicationMaster.PeriodFrom = (string.IsNullOrEmpty(txtFromDate.Text.Trim())) ? DateTime.MinValue : Convert.ToDateTime(txtFromDate.Text.Trim()); ClaimApplicationMaster.PeriodTo = (string.IsNullOrEmpty(txtToDate.Text.Trim())) ? DateTime.MinValue : Convert.ToDateTime(txtToDate.Text.Trim()); ClaimApplicationMaster.Status = Convert.ToInt32(ddlStatus.SelectedValue); Business.ClaimManagement.ClaimApplication objClaimApplication = new Business.ClaimManagement.ClaimApplication(); DataTable dtClaimApplication = objClaimApplication.ClaimApplication_GetAll(ClaimApplicationMaster); if (dtClaimApplication != null) { gvClaimReport.DataSource = dtClaimApplication; gvClaimReport.DataBind(); } }
private void ClaimApplicationStatusUpdate() { Business.ClaimManagement.ClaimApplication objClaimApplication = new Business.ClaimManagement.ClaimApplication(); foreach (GridViewRow gvr in gvApprovedClaim.Rows) { if (((CheckBox)gvr.FindControl("chkitem")).Checked) { ClaimApplicationMaster claimApplicationMaster = new ClaimApplicationMaster() { ClaimApplicationId = Convert.ToInt32(gvApprovedClaim.DataKeys[gvr.RowIndex].Values[0].ToString()), Status = (int)ClaimStatusEnum.Processed }; objClaimApplication.Claim_StatusUpdate(claimApplicationMaster); } } }
protected void gvClaimDetails_RowCommand(object sender, GridViewCommandEventArgs e) { try { if (e.CommandName == "U") { GridViewRow gridViewRow = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer); HiddenField hdnChecked = (HiddenField)gridViewRow.FindControl("hdnChecked"); TextBox txtApprovedAmount = (TextBox)gridViewRow.FindControl("txtApprovedAmount"); TextBox txtApprovedRemarks = (TextBox)gridViewRow.FindControl("txtApprovedRemarks"); //DropDownList ddlLineItemStatus = (DropDownList)gridViewRow.FindControl("ddlLineItemStatus"); hdnChecked.Value = "Checked"; gridViewRow.Font.Italic = true; gridViewRow.Attributes.CssStyle.Add("color", "#038a10"); Business.ClaimManagement.ClaimApplication objClaimApplication = new Business.ClaimManagement.ClaimApplication(); Entity.ClaimManagement.ClaimApplicationDetails claimApplicationDetails = new Entity.ClaimManagement.ClaimApplicationDetails() { ClaimApplicationDetailId = int.Parse(e.CommandArgument.ToString()), ApprovedAmount = (string.IsNullOrEmpty(txtApprovedAmount.Text.Trim())) ? 0 : Convert.ToDecimal(txtApprovedAmount.Text.Trim()), ApproverRemarks = txtApprovedRemarks.Text.Trim(), Status = (int)ClaimStatusEnum.Approved }; objClaimApplication.ClaimApplicationDetails_Save(claimApplicationDetails); ComputeTotalApprovedAmount(); } else if (e.CommandName == "A") { string claimAttachmentName = e.CommandArgument.ToString(); DownloadAttachment(claimAttachmentName); } } catch (Exception ex) { ex.WriteException(); Message.IsSuccess = false; Message.Text = ex.Message; Message.Show = true; } finally { ModalPopupExtender1.Show(); } }
private int ClaimApplicationDetails_Save(int claimApplicationId, DateTime expenseDate, string attachment, int categoryId, decimal cost, string description, int status) { Entity.ClaimManagement.ClaimApplicationDetails claimApplicationDetails = new Entity.ClaimManagement.ClaimApplicationDetails(); Business.ClaimManagement.ClaimApplication objClaimApplicationMaster = new Business.ClaimManagement.ClaimApplication(); claimApplicationDetails.ClaimApplicationDetailId = 0; claimApplicationDetails.ClaimApplicationId = claimApplicationId; claimApplicationDetails.ExpenseDate = expenseDate; claimApplicationDetails.Attachment = attachment; claimApplicationDetails.CategoryId = categoryId; claimApplicationDetails.Cost = cost; claimApplicationDetails.Description = description; claimApplicationDetails.Status = status; int response = objClaimApplicationMaster.ClaimApplicationDetails_Save(claimApplicationDetails); return(response); }
private void GetClaimApplicationDetails_ByClaimApplicationId(int ClaimApplicationId) { DataSet dsClaimApplicationDetails = new Business.ClaimManagement.ClaimApplication().GetClaimApplicationDetails_ByClaimApplicationId(ClaimApplicationId); if (dsClaimApplicationDetails != null) { lblClaimApplicationNumber.Text = dsClaimApplicationDetails.Tables[0].Rows[0]["ClaimNo"].ToString(); lblName.Text = dsClaimApplicationDetails.Tables[0].Rows[0]["Requestor"].ToString(); lblFromDate.Text = dsClaimApplicationDetails.Tables[0].Rows[0]["FromDate"].ToString(); lblToDate.Text = dsClaimApplicationDetails.Tables[0].Rows[0]["ToDate"].ToString(); lblTotalClaimCount.Text = dsClaimApplicationDetails.Tables[0].Rows[0]["TotalAmount"].ToString(); txtClaimHeader.Text = dsClaimApplicationDetails.Tables[0].Rows[0]["ClaimHeading"].ToString(); txtAdvanceAdjustAmount.Text = dsClaimApplicationDetails.Tables[0].Rows[0]["AdjustRequestAmount"].ToString(); GetClaimAccountBalance(Convert.ToInt32(dsClaimApplicationDetails.Tables[0].Rows[0]["EmployeeId"].ToString())); } gvClaimDetails.DataSource = dsClaimApplicationDetails.Tables[2]; gvClaimDetails.DataBind(); ComputeTotalApprovedAmount(); if ((Convert.ToInt32(dsClaimApplicationDetails.Tables[0].Rows[0]["Status"].ToString()) == (int)ClaimStatusEnum.Approved) && Convert.ToDateTime(dsClaimApplicationDetails.Tables[0].Rows[0]["FromDate"].ToString()).Date >= DateTime.Now.Date) { btnApprove.Visible = false; btnReject.Visible = false; } else if (Convert.ToInt32(dsClaimApplicationDetails.Tables[0].Rows[0]["Status"].ToString()) == (int)ClaimStatusEnum.Pending) { btnApprove.Visible = true; btnReject.Visible = true; } else { btnApprove.Visible = false; btnReject.Visible = false; } if (dsClaimApplicationDetails.Tables.Count > 1) { gvApprovalHistory.DataSource = dsClaimApplicationDetails.Tables[1]; gvApprovalHistory.DataBind(); } }
private Entity.ClaimManagement.ClaimApplicationMaster ClaimApplicationMaster_Save() { Entity.ClaimManagement.ClaimApplicationMaster claimApplicationMaster = new Entity.ClaimManagement.ClaimApplicationMaster(); Business.ClaimManagement.ClaimApplication objClaimApplicationMaster = new Business.ClaimManagement.ClaimApplication(); claimApplicationMaster.ClaimDateTime = DateTime.Now; claimApplicationMaster.ClaimHeading = txtClaimHeader.Text.Trim(); claimApplicationMaster.PeriodFrom = Convert.ToDateTime(txtPeriodFrom.Text); claimApplicationMaster.PeriodTo = Convert.ToDateTime(txtPeriodTo.Text); claimApplicationMaster.Status = (int)ClaimStatusEnum.Pending; claimApplicationMaster.EmployeeId = Convert.ToInt32(HttpContext.Current.User.Identity.Name); claimApplicationMaster.ClaimApplicationNumber = string.Empty; claimApplicationMaster.TotalAmount = (decimal)_ClaimDetails.Compute("SUM(Cost)", string.Empty); claimApplicationMaster.CreatedBy = Convert.ToInt32(HttpContext.Current.User.Identity.Name); claimApplicationMaster.AdjustRequestAmount = Convert.ToDecimal(txtAdjustAdvance.Text.Trim()); claimApplicationMaster = objClaimApplicationMaster.ClaimApplicationMaster_Save(claimApplicationMaster); return(claimApplicationMaster); }
private void FetchBasicDetails() { decimal totalClaimedAmount = 0, totalApprovedAmount = 0, totalAdjustedAmount = 0; foreach (GridViewRow gvr in gvApprovedClaim.Rows) { CheckBox chkSelect = (CheckBox)gvr.FindControl("chkitem"); if (chkSelect.Checked) { int claimApplicationId = Convert.ToInt32(gvApprovedClaim.DataKeys[gvr.RowIndex].Values[0].ToString()); DataSet dsClaimApplicationDetails = new Business.ClaimManagement.ClaimApplication().GetClaimApplicationDetails_ByClaimApplicationId(claimApplicationId); if (dsClaimApplicationDetails != null) { totalClaimedAmount += Convert.ToDecimal(dsClaimApplicationDetails.Tables[0].Rows[0]["TotalAmount"].ToString()); totalApprovedAmount += Convert.ToDecimal(dsClaimApplicationDetails.Tables[0].Rows[0]["ApprovedAmount"].ToString()); totalAdjustedAmount += Convert.ToDecimal(dsClaimApplicationDetails.Tables[0].Rows[0]["AdjustRequestAmount"].ToString()); } } } lblAdvanceAdjustAmount.Text = totalAdjustedAmount.ToString(); lblTotalApprovedAmount.Text = totalApprovedAmount.ToString(); lblTotalClaimAmount.Text = totalClaimedAmount.ToString(); }
protected void btnApprove_Click(object sender, EventArgs e) { try { if (ClaimApprovalValidation()) { Entity.ClaimManagement.ClaimApprovalDetails ClaimApprovalDetails = new Entity.ClaimManagement.ClaimApprovalDetails(); ClaimApprovalDetails.ApproverId = Convert.ToInt32(HttpContext.Current.User.Identity.Name); ClaimApprovalDetails.ClaimApplicationId = Business.Common.Context.ClaimApplicationId; ClaimApprovalDetails.Status = (int)ClaimStatusEnum.Approved; ClaimApprovalDetails.Remarks = txtRemarks.Text.Trim(); int response = new Business.ClaimManagement.ClaimApprovalDetails().Claim_Approve(ClaimApprovalDetails); if (response > 0) { //Fetching Requestor Id Entity.ClaimManagement.ClaimApplicationMaster ClaimApplicationMaster = new Entity.ClaimManagement.ClaimApplicationMaster(); Business.ClaimManagement.ClaimApplication objClaimApplication = new Business.ClaimManagement.ClaimApplication(); ClaimApplicationMaster.ClaimApplicationId = Business.Common.Context.ClaimApplicationId; DataTable dtClaimApplication = objClaimApplication.ClaimApplication_GetAll(ClaimApplicationMaster); Business.ClaimManagement.ClaimApprovalConfiguration objClaimApprovalConfiguration = new Business.ClaimManagement.ClaimApprovalConfiguration(); DataTable dtClaimEmployeeWiseApprovalConfiguration = objClaimApprovalConfiguration.ClaimEmployeeWiseApprovalConfiguration_GetAll( new Entity.ClaimManagement.ClaimApprovalConfiguration() { EmployeeId = (dtClaimApplication != null && dtClaimApplication.AsEnumerable().Any()) ? Convert.ToInt32(dtClaimApplication.Rows[0]["EmployeeId"].ToString()) : 0 }); int currentClaimApproverLevel = 0; if (dtClaimEmployeeWiseApprovalConfiguration != null && dtClaimEmployeeWiseApprovalConfiguration.AsEnumerable().Any() && dtClaimEmployeeWiseApprovalConfiguration.Select("ApproverId = " + HttpContext.Current.User.Identity.Name).Any()) { //Fetching the current approver approval level currentClaimApproverLevel = Convert.ToInt32(dtClaimEmployeeWiseApprovalConfiguration .Select("ApproverId = " + HttpContext.Current.User.Identity.Name).FirstOrDefault()["ApprovalLevel"].ToString()); currentClaimApproverLevel = currentClaimApproverLevel + 1; } if (dtClaimEmployeeWiseApprovalConfiguration != null && dtClaimEmployeeWiseApprovalConfiguration.AsEnumerable().Any() && dtClaimEmployeeWiseApprovalConfiguration.Select("ApprovalLevel = " + currentClaimApproverLevel).Any()) { Business.ClaimManagement.ClaimApprovalDetails objClaimApprovalDetails = new Business.ClaimManagement.ClaimApprovalDetails(); ClaimApprovalDetails.ClaimApprovalDetailId = 0; ClaimApprovalDetails.ClaimApplicationId = Business.Common.Context.ClaimApplicationId; ClaimApprovalDetails.Status = (int)ClaimStatusEnum.Pending; ClaimApprovalDetails.ApproverId = Convert.ToInt32(dtClaimEmployeeWiseApprovalConfiguration.Select("ApprovalLevel = " + currentClaimApproverLevel).FirstOrDefault()["ApproverId"].ToString()); //Assigning Claim Request to next approver int approvalResponse = objClaimApprovalDetails.ClaimApprovalDetails_Save(ClaimApprovalDetails); if (approvalResponse > 0) { GetClaimApplications_ByApproverId(ckShowAll.Checked ? (int)ClaimStatusEnum.None : (int)ClaimStatusEnum.Pending); MessageSuccess.IsSuccess = true; MessageSuccess.Text = "Approval moved to next level."; MessageSuccess.Show = true; ModalPopupExtender1.Hide(); } } else { //If final Appoval approved then update status in Master table new Business.ClaimManagement.ClaimApplication().ClaimApplicationMaster_Save( new Entity.ClaimManagement.ClaimApplicationMaster() { ClaimApplicationId = Business.Common.Context.ClaimApplicationId, Status = (int)ClaimStatusEnum.Approved, ApprovedAmount = Convert.ToDecimal(lblTotalApprovedAmount.Text.Trim()) }); GetClaimApplications_ByApproverId(ckShowAll.Checked ? (int)ClaimStatusEnum.None : (int)ClaimStatusEnum.Pending); MessageSuccess.IsSuccess = true; MessageSuccess.Text = "Claim approved."; MessageSuccess.Show = true; ModalPopupExtender1.Hide(); txtRemarks.Text = string.Empty; Message.Show = false; } Claim_Heading_Update(Business.Common.Context.ClaimApplicationId, txtClaimHeader.Text.Trim()); Claim_Adjust_Update(); } else { Message.IsSuccess = false; Message.Text = "Response not given."; Message.Show = true; TabContainer1.ActiveTab = Approval; ModalPopupExtender1.Show(); } } else { TabContainer1.ActiveTab = Approval; ModalPopupExtender1.Show(); } } catch (Exception ex) { ex.WriteException(); Message.IsSuccess = false; Message.Text = ex.Message; Message.Show = true; } }
private string PrepareVoucherJson() { string employeeName = string.Empty; List <VoucherDescription> voucherDescriptionList = new List <VoucherDescription>(); foreach (GridViewRow gvr in gvApprovedClaim.Rows) { CheckBox chkSelect = (CheckBox)gvr.FindControl("chkitem"); if (chkSelect.Checked) { Business.ClaimManagement.ClaimApplication objClaimApplication = new Business.ClaimManagement.ClaimApplication(); DataSet dsClaim = objClaimApplication.GetClaimApplicationDetails_ByClaimApplicationId(Convert.ToInt32(gvApprovedClaim.DataKeys[gvr.RowIndex].Values[0].ToString())); if (dsClaim != null && dsClaim.Tables.Count > 0 && dsClaim.Tables[0] != null && dsClaim.Tables[0].Rows.Count > 0) { employeeName = dsClaim.Tables[0].Rows[0]["Requestor"].ToString(); string claimCategories = string.Empty; DataTable dtClaimDetails = new Business.ClaimManagement.ClaimApplication().ClaimApplicationDetails_GetAll(new ClaimApplicationDetails() { ClaimApplicationId = Convert.ToInt32(dsClaim.Tables[0].Rows[0]["ClaimId"].ToString()) }); if (dtClaimDetails != null && dtClaimDetails.AsEnumerable().Any()) { foreach (DataRow drClaimDetail in dtClaimDetails.Rows) { DataTable dtClaimCategory = new Business.ClaimManagement.ClaimCategory().ClaimCategory_GetById(Convert.ToInt32(drClaimDetail["CategoryId"].ToString())); if (dtClaimCategory != null && dtClaimCategory.AsEnumerable().Any()) { claimCategories = claimCategories + dtClaimCategory.Rows[0]["CategoryName"].ToString() + ","; } } } VoucherDescription voucherPaymentDetails = new VoucherDescription() { Amount = Convert.ToDecimal(dsClaim.Tables[0].Rows[0]["ApprovedAmount"].ToString()), Description = string.Format("{0}-{1}-{2}", dsClaim.Tables[0].Rows[0]["ClaimNo"].ToString(), dsClaim.Tables[0].Rows[0]["ClaimHeading"].ToString(), claimCategories.Trim(',')) }; voucherDescriptionList.Add(voucherPaymentDetails); } } } string chequeNo = string.Empty, payMethod = string.Empty; foreach (DataRow dr in _ClaimPaymentDetails.Rows) { chequeNo += dr["PaymentDetails"] + ","; payMethod += dr["PaymentModeName"] + ","; } VoucherJson voucherJson = new VoucherJson() { AmountInWords = "", ChequeNo = chequeNo.TrimEnd(','), CreateDate = DateTime.UtcNow.AddHours(5).AddMinutes(33), EmployeeName = employeeName, PayMethod = payMethod.TrimEnd(','), TotalAmount = Convert.ToDecimal(lblTotalAmountPaying.Text), VoucherDescriptionList = voucherDescriptionList }; return(JsonConvert.SerializeObject(voucherJson)); }