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);
        }
Ejemplo n.º 3
0
 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
     }));
 }
Ejemplo n.º 4
0
        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);
         }
     }
 }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 9
0
        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();
        }
Ejemplo n.º 12
0
        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));
        }