public static int Claim_AdjustAmount_Update(Entity.ClaimManagement.ClaimApplicationMaster claimApplicationMaster)
        {
            int rowsAffacted = 0;

            using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ToString()))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection  = con;
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.CommandText = "usp_HR_Claim_AdjustAmount_Update";

                    cmd.Parameters.AddWithValue("@ClaimId", claimApplicationMaster.ClaimApplicationId);
                    cmd.Parameters.AddWithValue("@AdjustRequestAmount", claimApplicationMaster.AdjustRequestAmount);

                    if (con.State == ConnectionState.Closed)
                    {
                        con.Open();
                    }
                    rowsAffacted = cmd.ExecuteNonQuery();
                    con.Close();
                }
            }
            return(rowsAffacted);
        }
        protected void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                if (ClaimApplyValidation())
                {
                    Entity.ClaimManagement.ClaimApplicationMaster claimApplicationMaster = ClaimApplicationMaster_Save();

                    foreach (DataRow drClaimDetail in _ClaimDetails.Rows)
                    {
                        ClaimApplicationDetails_Save(claimApplicationMaster.ClaimApplicationId,
                                                     Convert.ToDateTime(drClaimDetail["ExpenseDate"].ToString()),
                                                     drClaimDetail["Attachment"].ToString(),
                                                     Convert.ToInt32(Enum.Parse(typeof(ClaimCategoryEnum), drClaimDetail["CategoryId"].ToString())),
                                                     Convert.ToDecimal(drClaimDetail["Cost"].ToString()),
                                                     drClaimDetail["Description"].ToString(),
                                                     Convert.ToInt32(Enum.Parse(typeof(ClaimStatusEnum), drClaimDetail["Status"].ToString())));
                    }

                    int approvalResponse = ClaimApprovalDetails_Save(claimApplicationMaster.ClaimApplicationId);
                    if (approvalResponse > 0)
                    {
                        ClearAllControl();
                        _ClaimDetails.Clear();
                        Message.IsSuccess = true;
                        Message.Text      = string.Format("Claim applied successfully. Your claim no. {0}", claimApplicationMaster.ClaimApplicationNumber);
                        Message.Show      = true;
                    }
                    else
                    {
                        Message.IsSuccess = false;
                        Message.Text      = "Claim approval send failed! Please contact system administrator.";
                        Message.Show      = true;
                    }
                }
                else
                {
                    Message.IsSuccess = false;
                    Message.Text      = "Claim apply failed! Please contact system administrator.";
                    Message.Show      = true;
                }
            }
            catch (Exception ex)
            {
                ex.WriteException();
                Message.IsSuccess = false;
                Message.Text      = ex.Message;
                Message.Show      = true;
            }
        }
        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();
            }
        }
        public static DataTable ClaimApplicationDetails_GetByDate(Entity.ClaimManagement.ClaimApplicationMaster ClaimApplicationMaster)
        {
            using (DataTable dt = new DataTable())
            {
                using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ToString()))
                {
                    using (SqlCommand cmd = new SqlCommand())
                    {
                        cmd.Connection  = con;
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.CommandText = "usp_HR_ClaimApplicationDetails_GetByDate";

                        if (ClaimApplicationMaster.ClaimApplicationId == 0)
                        {
                            cmd.Parameters.AddWithValue("@ClaimApplicationId", DBNull.Value);
                        }
                        else
                        {
                            cmd.Parameters.AddWithValue("@ClaimApplicationId", ClaimApplicationMaster.ClaimApplicationId);
                        }
                        //if (ClaimApplicationMaster.RequestorId == 0)
                        //    cmd.Parameters.AddWithValue("@RequestorId", DBNull.Value);
                        //else
                        //    cmd.Parameters.AddWithValue("@RequestorId", ClaimApplicationMaster.RequestorId);
                        //if (string.IsNullOrEmpty(ClaimApplicationMaster.ClaimStatuses))
                        //    cmd.Parameters.AddWithValue("@ClaimStatuses", DBNull.Value);
                        //else
                        //    cmd.Parameters.AddWithValue("@ClaimStatuses", ClaimApplicationMaster.ClaimStatuses);
                        //if (ClaimApplicationMaster.FromClaimDate == DateTime.MinValue)
                        //    cmd.Parameters.AddWithValue("@FromClaimDate", DBNull.Value);
                        //else
                        //    cmd.Parameters.AddWithValue("@FromClaimDate", ClaimApplicationMaster.FromClaimDate);
                        //if (ClaimApplicationMaster.ToClaimDate == DateTime.MinValue)
                        //    cmd.Parameters.AddWithValue("@ToClaimDate", DBNull.Value);
                        //else
                        //    cmd.Parameters.AddWithValue("@ToClaimDate", ClaimApplicationMaster.ToClaimDate);

                        using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                        {
                            da.Fill(dt);
                        }
                        con.Close();
                    }
                }
                return(dt);
            }
        }
        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);
        }
Ejemplo n.º 6
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;
            }
        }
 public int Claim_AdjustAmount_Update(Entity.ClaimManagement.ClaimApplicationMaster claimApplicationMaster)
 {
     return(DataAccess.ClaimManagement.ClaimApplication.Claim_AdjustAmount_Update(claimApplicationMaster));
 }
 public int Claim_StatusUpdate(Entity.ClaimManagement.ClaimApplicationMaster claimApplication)
 {
     return(DataAccess.ClaimManagement.ClaimApplication.Claim_StatusUpdate(claimApplication));
 }
 public DataTable ClaimApplication_GetAll(Entity.ClaimManagement.ClaimApplicationMaster ClaimApplicationMaster)
 {
     return(DataAccess.ClaimManagement.ClaimApplication.ClaimApplication_GetAll(ClaimApplicationMaster));
 }
 public DataTable ClaimApplicationDetails_GetByDate(Entity.ClaimManagement.ClaimApplicationMaster ClaimApplicationMaster)
 {
     return(DataAccess.ClaimManagement.ClaimApplication.ClaimApplicationDetails_GetByDate(ClaimApplicationMaster));
 }
 public Entity.ClaimManagement.ClaimApplicationMaster ClaimApplicationMaster_Save(Entity.ClaimManagement.ClaimApplicationMaster objClaimApplicationMaster)
 {
     return(DataAccess.ClaimManagement.ClaimApplication.ClaimApplicationMaster_Save(objClaimApplicationMaster));
 }
        public static DataTable ClaimApplication_GetAll(Entity.ClaimManagement.ClaimApplicationMaster ClaimApplicationMaster)
        {
            using (DataTable ds = new DataTable())
            {
                using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ToString()))
                {
                    using (SqlCommand cmd = new SqlCommand())
                    {
                        cmd.Connection  = con;
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.CommandText = "usp_HR_ClaimApplication_GetAll";

                        if (ClaimApplicationMaster.ClaimApplicationId == 0)
                        {
                            cmd.Parameters.AddWithValue("@ClaimApplicationId", DBNull.Value);
                        }
                        else
                        {
                            cmd.Parameters.AddWithValue("@ClaimApplicationId", ClaimApplicationMaster.ClaimApplicationId);
                        }
                        if (ClaimApplicationMaster.EmployeeId == 0)
                        {
                            cmd.Parameters.AddWithValue("@EmployeeId", DBNull.Value);
                        }
                        else
                        {
                            cmd.Parameters.AddWithValue("@EmployeeId", ClaimApplicationMaster.EmployeeId);
                        }
                        if (ClaimApplicationMaster.PeriodFrom == DateTime.MinValue)
                        {
                            cmd.Parameters.AddWithValue("@FromDate", DBNull.Value);
                        }
                        else
                        {
                            cmd.Parameters.AddWithValue("@FromDate", ClaimApplicationMaster.PeriodFrom);
                        }
                        if (ClaimApplicationMaster.PeriodTo == DateTime.MinValue)
                        {
                            cmd.Parameters.AddWithValue("@ToDate", DBNull.Value);
                        }
                        else
                        {
                            cmd.Parameters.AddWithValue("@ToDate", ClaimApplicationMaster.PeriodTo);
                        }
                        if (ClaimApplicationMaster.Status == 0)
                        {
                            cmd.Parameters.AddWithValue("@StatusId", DBNull.Value);
                        }
                        else
                        {
                            cmd.Parameters.AddWithValue("@StatusId", ClaimApplicationMaster.Status);
                        }
                        using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                        {
                            da.Fill(ds);
                        }
                        con.Close();
                    }
                }
                return(ds);
            }
        }
        public static Entity.ClaimManagement.ClaimApplicationMaster ClaimApplicationMaster_Save(Entity.ClaimManagement.ClaimApplicationMaster claimApplicationMaster)
        {
            using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ToString()))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection  = con;
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.CommandText = "usp_HR_Claim_Save";

                    cmd.Parameters.AddWithValue("@ClaimId", claimApplicationMaster.ClaimApplicationId);
                    if (string.IsNullOrEmpty(claimApplicationMaster.ClaimHeading))
                    {
                        cmd.Parameters.AddWithValue("@ClaimHeading", DBNull.Value);
                    }
                    else
                    {
                        cmd.Parameters.AddWithValue("@ClaimHeading", claimApplicationMaster.ClaimHeading);
                    }
                    if (string.IsNullOrEmpty(claimApplicationMaster.ClaimApplicationNumber))
                    {
                        cmd.Parameters.AddWithValue("@ClaimNo", DBNull.Value);
                    }
                    else
                    {
                        cmd.Parameters.AddWithValue("@ClaimNo", claimApplicationMaster.ClaimApplicationNumber);
                    }
                    if (claimApplicationMaster.EmployeeId == 0)
                    {
                        cmd.Parameters.AddWithValue("@EmployeeId", DBNull.Value);
                    }
                    else
                    {
                        cmd.Parameters.AddWithValue("@EmployeeId", claimApplicationMaster.EmployeeId);
                    }
                    if (claimApplicationMaster.PeriodFrom == DateTime.MinValue)
                    {
                        cmd.Parameters.AddWithValue("@PeriodFrom", DBNull.Value);
                    }
                    else
                    {
                        cmd.Parameters.AddWithValue("@PeriodFrom", claimApplicationMaster.PeriodFrom);
                    }
                    if (claimApplicationMaster.PeriodTo == DateTime.MinValue)
                    {
                        cmd.Parameters.AddWithValue("@PeriodTo", DBNull.Value);
                    }
                    else
                    {
                        cmd.Parameters.AddWithValue("@PeriodTo", claimApplicationMaster.PeriodTo);
                    }
                    if (claimApplicationMaster.CreatedBy == 0)
                    {
                        cmd.Parameters.AddWithValue("@CreatedBy", DBNull.Value);
                    }
                    else
                    {
                        cmd.Parameters.AddWithValue("@CreatedBy", claimApplicationMaster.CreatedBy);
                    }
                    if (claimApplicationMaster.TotalAmount == 0)
                    {
                        cmd.Parameters.AddWithValue("@TotalAmount", DBNull.Value);
                    }
                    else
                    {
                        cmd.Parameters.AddWithValue("@TotalAmount", claimApplicationMaster.TotalAmount);
                    }
                    if (claimApplicationMaster.Status == 0)
                    {
                        cmd.Parameters.AddWithValue("@Status", DBNull.Value);
                    }
                    else
                    {
                        cmd.Parameters.AddWithValue("@Status", claimApplicationMaster.Status);
                    }
                    if (claimApplicationMaster.ClaimDateTime == DateTime.MinValue)
                    {
                        cmd.Parameters.AddWithValue("@ClaimDateTime", DBNull.Value);
                    }
                    else
                    {
                        cmd.Parameters.AddWithValue("@ClaimDateTime", claimApplicationMaster.ClaimDateTime);
                    }
                    cmd.Parameters.AddWithValue("@AdjustRequestAmount", claimApplicationMaster.AdjustRequestAmount);
                    cmd.Parameters.AddWithValue("@ApprovedAmount", claimApplicationMaster.ApprovedAmount);

                    if (con.State == ConnectionState.Closed)
                    {
                        con.Open();
                    }
                    SqlDataReader dr = cmd.ExecuteReader();
                    if (dr.Read())
                    {
                        if (dr.HasRows)
                        {
                            claimApplicationMaster.ClaimApplicationId     = Convert.ToInt32(dr["ClaimId"].ToString());
                            claimApplicationMaster.ClaimApplicationNumber = dr["ClaimNo"].ToString();
                        }
                    }
                    con.Close();
                }
            }
            return(claimApplicationMaster);
        }