public Boolean UpdateLeaveStatus(LeaveStatusENT entLeaveStatus)
        {
            LeaveStatusDAL dalLeaveStatus = new LeaveStatusDAL();

            if (dalLeaveStatus.UpdateLeaveStatus(entLeaveStatus))
            {
                return(true);
            }
            else
            {
                Message = dalLeaveStatus.Message;
                return(false);
            }
        }
        public Boolean Insert(LeaveStatusENT entLeave, SqlInt32 UserID)
        {
            LeaveStatusDAL dalLeaveStatus = new LeaveStatusDAL();

            if (dalLeaveStatus.Insert(entLeave, UserID))
            {
                return(true);
            }
            else
            {
                Message = dalLeaveStatus.Message;
                return(false);
            }
        }
        public Boolean UpdateLeaveStatus(LeaveStatusENT entLeaveStatus)
        {
            using (SqlConnection objConn = new SqlConnection(ConnectionString))
            {
                objConn.Open();
                using (SqlCommand objCmd = objConn.CreateCommand())
                {
                    try
                    {
                        #region Prepare Command
                        objCmd.CommandType = CommandType.StoredProcedure;
                        objCmd.CommandText = "PR_LeaveStatus_UpdateByLeaveID";

                        objCmd.Parameters.Add("@LeaveTypeID", SqlDbType.Int).Value = entLeaveStatus.LeaveTypeID;
                        objCmd.Parameters.Add("@LeaveID", SqlDbType.Int).Value     = entLeaveStatus.LeaveID;
                        #endregion Prepare Command

                        objCmd.ExecuteNonQuery();

                        return(true);
                    }
                    catch (SqlException ex)
                    {
                        Message = ex.Message;
                        return(false);
                    }
                    catch (Exception ex)
                    {
                        Message = ex.Message;
                        return(false);
                    }
                    finally
                    {
                        if (objConn.State == ConnectionState.Open)
                        {
                            objConn.Close();
                        }
                    }
                }
            }
        }
Beispiel #4
0
    protected void btnSave_Click(object sender, EventArgs e)
    {
        #region Collect Data
        LeaveENT       entLeave       = new LeaveENT();
        LeaveBAL       balLeave       = new LeaveBAL();
        LeaveStatusENT entLeaveStatus = new LeaveStatusENT();
        LeaveStatusBAL balLeaveStatus = new LeaveStatusBAL();
        LeaveTypeENT   entLeaveType   = new LeaveTypeENT();
        LeaveTypeBAL   balLeaveType   = new LeaveTypeBAL();

        if (ddlLeaveType.SelectedIndex > 0)
        {
            entLeave.LeaveTypeID       = Convert.ToInt32(ddlLeaveType.SelectedValue);
            entLeaveStatus.LeaveTypeID = Convert.ToInt32(ddlLeaveType.SelectedValue);
            entLeaveType.LeaveTypeID   = Convert.ToInt32(ddlLeaveType.SelectedValue);
        }
        entLeaveType = balLeaveType.SelectByPK(entLeaveType.LeaveTypeID);

        if (entLeave.LeaveID > 0)
        {
            entLeaveStatus.LeaveID = entLeave.LeaveID;
        }

        if (txtLeaveReason.Text.Trim() != "")
        {
            entLeave.LeaveReason = txtLeaveReason.Text.Trim();
        }

        if (rbHalfLeave.Checked != false)
        {
            entLeave.LeaveDuration = rbHalfLeave.Text.Trim();
        }

        if (rbFullLeave.Checked != false)
        {
            entLeave.LeaveDuration = rbFullLeave.Text.Trim();
        }

        if (txtLeaveStartDate.Text.Trim() != "")
        {
            DateTime today      = DateTime.Today;
            string   strDate    = txtLeaveStartDate.Text.Trim();
            string[] dateString = strDate.Split('-');
            DateTime startdate  = Convert.ToDateTime(dateString[0] + "-" + dateString[1] + "-" + dateString[2]);
            if (startdate < today)
            {
                PanelErrorMesseage.Visible = true;
                lblErrorMessage.Text       = "Leavedate must not be in past";
                txtLeaveStartDate.Focus();
                return;
            }
            else
            {
                PanelErrorMesseage.Visible = false;
                entLeave.LeaveStartDate    = txtLeaveStartDate.Text.Trim();
            }
        }

        if (txtLeaveEndDate.Text.Trim() != "")
        {
            entLeave.LeaveEndDate = txtLeaveEndDate.Text.Trim();
        }
        #endregion Collect Data

        if (Request.QueryString["LeaveID"] == null)
        {
            string   strStartDate    = txtLeaveStartDate.Text.Trim();
            string[] StartDateString = strStartDate.Split('-');
            DateTime startdate       = Convert.ToDateTime(StartDateString[0] + "-" + StartDateString[1] + "-" + StartDateString[2]);


            if (entLeaveType.LeaveType == "Casual Leave")
            {
                entLeaveType.UserID = Convert.ToInt32(Session["UserID"].ToString().Trim());

                if (rbHalfLeave.Checked == true)
                {
                    entLeaveType.TotalDays = entLeaveType.TotalDays - 1;
                }
                else if (rbFullLeave.Checked == true)
                {
                    string   strEndDate    = txtLeaveEndDate.Text.Trim();
                    string[] EndDateString = strEndDate.Split('-');
                    DateTime enddate       = Convert.ToDateTime(EndDateString[0] + "-" + EndDateString[1] + "-" + EndDateString[2]);
                    entLeaveType.TotalDays = entLeaveType.TotalDays - Convert.ToInt32((enddate - startdate).TotalDays) - 1;
                }

                if (entLeaveType.TotalDays < 0)
                {
                    PanelErrorMesseage.Visible = true;
                    lblErrorMessage.Text       = "You Can't Add More Casual Leave Because You Had Already Use It";
                    return;
                }
                else
                {
                    if (balLeave.Insert(entLeave, Convert.ToInt32(Session["UserID"].ToString().Trim())))
                    {
                        if (entLeave.LeaveID > 0)
                        {
                            entLeaveStatus.LeaveID = entLeave.LeaveID;
                        }
                        if (!balLeaveType.UpdateTotalDaysByLeaveType(entLeaveType))
                        {
                            PanelErrorMesseage.Visible = true;
                            lblErrorMessage.Text       = balLeaveType.Message;
                        }
                        clearSelection();
                        PanelSuccess.Visible = true;
                        lblSuccess.Text      = "Data Inserted Successfully";
                    }
                    else
                    {
                        PanelErrorMesseage.Visible = true;
                        lblErrorMessage.Text       = balLeave.Message;
                    }

                    if (!balLeaveStatus.Insert(entLeaveStatus, Convert.ToInt32(Session["UserID"].ToString().Trim())))
                    {
                        PanelErrorMesseage.Visible = true;
                        lblErrorMessage.Text       = balLeaveStatus.Message;
                    }
                }
            }
            else if (entLeaveType.LeaveType == "Medical Leave")
            {
                entLeaveType.UserID = Convert.ToInt32(Session["UserID"].ToString().Trim());

                if (rbHalfLeave.Checked == true)
                {
                    entLeaveType.TotalDays = entLeaveType.TotalDays - 1;
                }
                else if (rbFullLeave.Checked == true)
                {
                    string   strEndDate    = txtLeaveEndDate.Text.Trim();
                    string[] EndDateString = strEndDate.Split('-');
                    DateTime enddate       = Convert.ToDateTime(EndDateString[0] + "-" + EndDateString[1] + "-" + EndDateString[2]);
                    entLeaveType.TotalDays = entLeaveType.TotalDays - Convert.ToInt32((enddate - startdate).TotalDays) - 1;
                }

                if (entLeaveType.TotalDays < 0)
                {
                    PanelErrorMesseage.Visible = true;
                    lblErrorMessage.Text       = "You Can't Add More Medical Leave Because You Had Already Use It";
                    return;
                }
                else
                {
                    if (balLeave.Insert(entLeave, Convert.ToInt32(Session["UserID"].ToString().Trim())))
                    {
                        if (entLeave.LeaveID > 0)
                        {
                            entLeaveStatus.LeaveID = entLeave.LeaveID;
                        }
                        if (!balLeaveType.UpdateTotalDaysByLeaveType(entLeaveType))
                        {
                            PanelErrorMesseage.Visible = true;
                            lblErrorMessage.Text       = balLeaveType.Message;
                        }
                        clearSelection();
                        PanelSuccess.Visible = true;
                        lblSuccess.Text      = "Data Inserted Successfully";
                    }
                    else
                    {
                        PanelErrorMesseage.Visible = true;
                        lblErrorMessage.Text       = balLeave.Message;
                    }

                    if (!balLeaveStatus.Insert(entLeaveStatus, Convert.ToInt32(Session["UserID"].ToString().Trim())))
                    {
                        PanelErrorMesseage.Visible = true;
                        lblErrorMessage.Text       = balLeaveStatus.Message;
                    }
                }
            }
            else if (entLeaveType.LeaveType == "LOP")
            {
                entLeaveType.UserID = Convert.ToInt32(Session["UserID"].ToString().Trim());

                if (rbHalfLeave.Checked == true)
                {
                    entLeaveType.TotalDays = entLeaveType.TotalDays - 1;
                }
                else if (rbFullLeave.Checked == true)
                {
                    string   strEndDate    = txtLeaveEndDate.Text.Trim();
                    string[] EndDateString = strEndDate.Split('-');
                    DateTime enddate       = Convert.ToDateTime(EndDateString[0] + "-" + EndDateString[1] + "-" + EndDateString[2]);
                    entLeaveType.TotalDays = entLeaveType.TotalDays - Convert.ToInt32((enddate - startdate).TotalDays) - 1;
                }

                if (entLeaveType.TotalDays < 0)
                {
                    PanelErrorMesseage.Visible = true;
                    lblErrorMessage.Text       = "You Can't Add More LOP Because You Had Already Use It";
                    return;
                }
                else
                {
                    if (balLeave.Insert(entLeave, Convert.ToInt32(Session["UserID"].ToString().Trim())))
                    {
                        if (entLeave.LeaveID > 0)
                        {
                            entLeaveStatus.LeaveID = entLeave.LeaveID;
                        }
                        if (!balLeaveType.UpdateTotalDaysByLeaveType(entLeaveType))
                        {
                            PanelErrorMesseage.Visible = true;
                            lblErrorMessage.Text       = balLeaveType.Message;
                        }
                        clearSelection();
                        PanelSuccess.Visible = true;
                        lblSuccess.Text      = "Data Inserted Successfully";
                    }
                    else
                    {
                        PanelErrorMesseage.Visible = true;
                        lblErrorMessage.Text       = balLeave.Message;
                    }

                    if (!balLeaveStatus.Insert(entLeaveStatus, Convert.ToInt32(Session["UserID"].ToString().Trim())))
                    {
                        PanelErrorMesseage.Visible = true;
                        lblErrorMessage.Text       = balLeaveStatus.Message;
                    }
                }
            }
            else if (entLeaveType.LeaveType == "Other Leave")
            {
                entLeaveType.UserID = Convert.ToInt32(Session["UserID"].ToString().Trim());

                if (rbHalfLeave.Checked == true)
                {
                    entLeaveType.TotalDays = entLeaveType.TotalDays - 1;
                }
                else if (rbFullLeave.Checked == true)
                {
                    string   strEndDate    = txtLeaveEndDate.Text.Trim();
                    string[] EndDateString = strEndDate.Split('-');
                    DateTime enddate       = Convert.ToDateTime(EndDateString[0] + "-" + EndDateString[1] + "-" + EndDateString[2]);
                    entLeaveType.TotalDays = entLeaveType.TotalDays - Convert.ToInt32((enddate - startdate).TotalDays) - 1;
                }

                if (entLeaveType.TotalDays < 0)
                {
                    PanelErrorMesseage.Visible = true;
                    lblErrorMessage.Text       = "You Can't Add More Other Leave Because You Had Already Use It";
                    return;
                }
                else
                {
                    if (balLeave.Insert(entLeave, Convert.ToInt32(Session["UserID"].ToString().Trim())))
                    {
                        if (entLeave.LeaveID > 0)
                        {
                            entLeaveStatus.LeaveID = entLeave.LeaveID;
                        }
                        if (!balLeaveType.UpdateTotalDaysByLeaveType(entLeaveType))
                        {
                            PanelErrorMesseage.Visible = true;
                            lblErrorMessage.Text       = balLeaveType.Message;
                        }
                        clearSelection();
                        PanelSuccess.Visible = true;
                        lblSuccess.Text      = "Data Inserted Successfully";
                    }
                    else
                    {
                        PanelErrorMesseage.Visible = true;
                        lblErrorMessage.Text       = balLeave.Message;
                    }

                    if (!balLeaveStatus.Insert(entLeaveStatus, Convert.ToInt32(Session["UserID"].ToString().Trim())))
                    {
                        PanelErrorMesseage.Visible = true;
                        lblErrorMessage.Text       = balLeaveStatus.Message;
                    }
                }
            }
        }
        else
        {
            entLeave.LeaveID       = Convert.ToInt32(Request.QueryString["LeaveID"].ToString().Trim());
            entLeaveStatus.LeaveID = Convert.ToInt32(Request.QueryString["LeaveID"].ToString().Trim());
            string   strStartDate    = txtLeaveStartDate.Text.Trim();
            string[] StartDateString = strStartDate.Split('-');
            DateTime startdate       = Convert.ToDateTime(StartDateString[0] + "-" + StartDateString[1] + "-" + StartDateString[2]);

            if (entLeaveType.LeaveType == "Casual Leave")
            {
                entLeaveType.UserID = Convert.ToInt32(Session["UserID"].ToString().Trim());

                if (rbHalfLeave.Checked == true)
                {
                    entLeaveType.TotalDays = entLeaveType.TotalDays - 1;
                }
                else if (rbFullLeave.Checked == true)
                {
                    string   strEndDate    = txtLeaveEndDate.Text.Trim();
                    string[] EndDateString = strEndDate.Split('-');
                    DateTime enddate       = Convert.ToDateTime(EndDateString[0] + "-" + EndDateString[1] + "-" + EndDateString[2]);
                    entLeaveType.TotalDays = entLeaveType.TotalDays - Convert.ToInt32((enddate - startdate).TotalDays) - 1;
                }

                if (entLeaveType.TotalDays < 0)
                {
                    PanelErrorMesseage.Visible = true;
                    lblErrorMessage.Text       = "You Can't Add More Casual Leave Because You Had Already Use It";
                    return;
                }
            }
            else if (entLeaveType.LeaveType == "Medical Leave")
            {
                entLeaveType.UserID = Convert.ToInt32(Session["UserID"].ToString().Trim());

                if (rbHalfLeave.Checked == true)
                {
                    entLeaveType.TotalDays = entLeaveType.TotalDays - 1;
                }
                else if (rbFullLeave.Checked == true)
                {
                    string   strEndDate    = txtLeaveEndDate.Text.Trim();
                    string[] EndDateString = strEndDate.Split('-');
                    DateTime enddate       = Convert.ToDateTime(EndDateString[0] + "-" + EndDateString[1] + "-" + EndDateString[2]);
                    entLeaveType.TotalDays = entLeaveType.TotalDays - Convert.ToInt32((enddate - startdate).TotalDays) - 1;
                }

                if (entLeaveType.TotalDays < 0)
                {
                    PanelErrorMesseage.Visible = true;
                    lblErrorMessage.Text       = "You Can't Add More Medical Leave Because You Had Already Use It";
                    return;
                }
            }
            else if (entLeaveType.LeaveType == "LOP")
            {
                entLeaveType.UserID = Convert.ToInt32(Session["UserID"].ToString().Trim());

                if (rbHalfLeave.Checked == true)
                {
                    entLeaveType.TotalDays = entLeaveType.TotalDays - 1;
                }
                else if (rbFullLeave.Checked == true)
                {
                    string   strEndDate    = txtLeaveEndDate.Text.Trim();
                    string[] EndDateString = strEndDate.Split('-');
                    DateTime enddate       = Convert.ToDateTime(EndDateString[0] + "-" + EndDateString[1] + "-" + EndDateString[2]);
                    entLeaveType.TotalDays = entLeaveType.TotalDays - Convert.ToInt32((enddate - startdate).TotalDays) - 1;
                }

                if (entLeaveType.TotalDays < 0)
                {
                    PanelErrorMesseage.Visible = true;
                    lblErrorMessage.Text       = "You Can't Add More LOP Leave Because You Had Already Use It";
                    return;
                }
            }
            else if (entLeaveType.LeaveType == "Other Leave")
            {
                entLeaveType.UserID = Convert.ToInt32(Session["UserID"].ToString().Trim());

                if (rbHalfLeave.Checked == true)
                {
                    entLeaveType.TotalDays = entLeaveType.TotalDays - 1;
                }
                else if (rbFullLeave.Checked == true)
                {
                    string   strEndDate    = txtLeaveEndDate.Text.Trim();
                    string[] EndDateString = strEndDate.Split('-');
                    DateTime enddate       = Convert.ToDateTime(EndDateString[0] + "-" + EndDateString[1] + "-" + EndDateString[2]);
                    entLeaveType.TotalDays = entLeaveType.TotalDays - Convert.ToInt32((enddate - startdate).TotalDays) - 1;
                }

                if (entLeaveType.TotalDays < 0)
                {
                    PanelErrorMesseage.Visible = true;
                    lblErrorMessage.Text       = "You Can't Add More Other Leave Because You Had Already Use It";
                    return;
                }
            }

            entLeaveType.UserID = Convert.ToInt32(Session["UserID"].ToString().Trim());
            if (!balLeaveType.UpdateTotalDaysByLeaveType(entLeaveType))
            {
                PanelErrorMesseage.Visible = true;
                lblErrorMessage.Text       = balLeaveType.Message;
            }
            if (!balLeave.Update(entLeave, Convert.ToInt32(Session["UserID"].ToString().Trim())))
            {
                PanelErrorMesseage.Visible = true;
                lblErrorMessage.Text       = balLeave.Message;
            }

            if (balLeaveStatus.UpdateLeaveStatus(entLeaveStatus))
            {
                Response.Redirect("~/Content/Leave/LeaveList.aspx");
            }
            else
            {
                PanelErrorMesseage.Visible = true;
                lblErrorMessage.Text       = balLeaveStatus.Message;
            }
        }
    }