Example #1
0
        public Boolean Update(LeaveTypeENT entLeaveType)
        {
            LeaveTypeDAL dalLeaveType = new LeaveTypeDAL();

            if (dalLeaveType.Update(entLeaveType))
            {
                return(true);
            }
            else
            {
                Message = dalLeaveType.Message;
                return(false);
            }
        }
        public Boolean Insert(LeaveTypeENT entLeaveType)
        {
            using (SqlConnection objConn = new SqlConnection(ConnectionString))
            {
                objConn.Open();
                using (SqlCommand objCmd = objConn.CreateCommand())
                {
                    try
                    {
                        #region Prepare Command
                        objCmd.CommandType = CommandType.StoredProcedure;
                        objCmd.CommandText = "PR_LeaveType_InsertByUserID";

                        objCmd.Parameters.Add("@LeaveTypeID", SqlDbType.Int, 4).Direction = ParameterDirection.Output;
                        objCmd.Parameters.Add("@LeaveType", SqlDbType.VarChar).Value      = entLeaveType.LeaveType;
                        objCmd.Parameters.Add("@TotalDays", SqlDbType.Int).Value          = entLeaveType.TotalDays;
                        objCmd.Parameters.Add("@UserID", SqlDbType.Int).Value             = entLeaveType.UserID;
                        #endregion Prepare Command

                        objCmd.ExecuteNonQuery();
                        if (objCmd.Parameters["@LeaveTypeID"] != null)
                        {
                            entLeaveType.LeaveTypeID = Convert.ToInt32(objCmd.Parameters["@LeaveTypeID"].Value);
                        }
                        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();
                        }
                    }
                }
            }
        }
Example #3
0
    private void fillControls(SqlInt32 LeaveTypeID)
    {
        LeaveTypeBAL balLeaveType = new LeaveTypeBAL();
        LeaveTypeENT entLeaveType = new LeaveTypeENT();

        entLeaveType = balLeaveType.SelectByPK(LeaveTypeID);

        if (!entLeaveType.LeaveType.IsNull)
        {
            txtLeaveType.Text = entLeaveType.LeaveType.Value.ToString();
        }

        if (!entLeaveType.TotalDays.IsNull)
        {
            txtTotalDays.Text = entLeaveType.TotalDays.Value.ToString();
        }
    }
        public Boolean UpdateTotalDaysByLeaveType(LeaveTypeENT entLeaveType)
        {
            using (SqlConnection objConn = new SqlConnection(ConnectionString))
            {
                objConn.Open();
                using (SqlCommand objCmd = objConn.CreateCommand())
                {
                    try
                    {
                        #region Prepare Command
                        objCmd.CommandType = CommandType.StoredProcedure;
                        objCmd.CommandText = "PR_LeaveType_UpdateTotalDaysByLeaveTypeUserID";

                        objCmd.Parameters.Add("@LeaveType", SqlDbType.VarChar).Value = entLeaveType.LeaveType;
                        objCmd.Parameters.Add("@TotalDays", SqlDbType.Int).Value     = entLeaveType.TotalDays;
                        objCmd.Parameters.Add("@UserID", SqlDbType.Int).Value        = entLeaveType.UserID;
                        #endregion Prepare Command

                        objCmd.ExecuteNonQuery();

                        return(true);
                    }
                    catch (SqlException ex)
                    {
                        Message = ex.InnerException.Message;
                        return(false);
                    }
                    catch (Exception ex)
                    {
                        Message = ex.InnerException.Message;
                        return(false);
                    }
                    finally
                    {
                        if (objConn.State == ConnectionState.Open)
                        {
                            objConn.Close();
                        }
                    }
                }
            }
        }
Example #5
0
    private void displayRemainingLeave()
    {
        LeaveTypeBAL balLeaveType = new LeaveTypeBAL();
        LeaveTypeENT entLeaveType = new LeaveTypeENT();
        DataTable    dtLeaveType  = new DataTable();
        string       leavetype    = "";
        string       totaldays    = "";

        dtLeaveType = balLeaveType.SelectByUserID(Convert.ToInt32(Session["UserID"].ToString().Trim()));

        if (dtLeaveType.Rows.Count > 0)
        {
            DataColumn LeaveType = dtLeaveType.Columns["LeaveType"];
            DataColumn TotalDays = dtLeaveType.Columns["TotalDays"];
            foreach (DataRow row in dtLeaveType.Rows)
            {
                leavetype = row[LeaveType].ToString();
                foreach (DataRow rows in dtLeaveType.Rows)
                {
                    totaldays = row[TotalDays].ToString();
                    if (leavetype == "Casual Leave")
                    {
                        lblCasualLeave.Text = totaldays;
                    }
                    else if (leavetype == "Medical Leave")
                    {
                        lblMedicalLeave.Text = totaldays;
                    }
                    else if (leavetype == "LOP")
                    {
                        lblLOP.Text = totaldays;
                    }
                    else if (leavetype == "Other Leave")
                    {
                        lblOtherLeave.Text = totaldays;
                    }
                }
            }
        }
    }
        public LeaveTypeENT SelectByPK(SqlInt32 LeaveTypeID)
        {
            using (SqlConnection objConn = new SqlConnection(ConnectionString))
            {
                objConn.Open();
                using (SqlCommand objCmd = objConn.CreateCommand())
                {
                    try
                    {
                        #region Prepare Command
                        objCmd.CommandType = CommandType.StoredProcedure;
                        objCmd.CommandText = "PR_LeaveType_SelectByPK";
                        objCmd.Parameters.Add("@LeaveTypeID", SqlDbType.Int).Value = LeaveTypeID;
                        #endregion Prepare Command

                        #region Read Data and Set Controls
                        LeaveTypeENT entLeaveType = new LeaveTypeENT();
                        using (SqlDataReader objSDR = objCmd.ExecuteReader())
                        {
                            while (objSDR.Read())
                            {
                                if (!objSDR["LeaveTypeID"].Equals(DBNull.Value))
                                {
                                    entLeaveType.LeaveTypeID = Convert.ToInt32(objSDR["LeaveTypeID"]);
                                }

                                if (!objSDR["LeaveType"].Equals(DBNull.Value))
                                {
                                    entLeaveType.LeaveType = Convert.ToString(objSDR["LeaveType"]);
                                }

                                if (!objSDR["TotalDays"].Equals(DBNull.Value))
                                {
                                    entLeaveType.TotalDays = Convert.ToInt32(objSDR["TotalDays"]);
                                }
                            }
                        }
                        return(entLeaveType);

                        #endregion Read Data and Set Controls
                    }
                    catch (SqlException ex)
                    {
                        Message = ex.Message;
                        return(null);
                    }
                    catch (Exception ex)
                    {
                        Message = ex.Message;
                        return(null);
                    }
                    finally
                    {
                        if (objConn.State == ConnectionState.Open)
                        {
                            objConn.Close();
                        }
                    }
                }
            }
        }
Example #7
0
    protected void gvLeave_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        LeaveBAL       balLeave = new LeaveBAL();
        LeaveENT       entLeave = new LeaveENT();
        LeaveENT       entLeaveforRemainingLeave = new LeaveENT();
        LeaveStatusBAL balLeaveStatus            = new LeaveStatusBAL();
        LeaveTypeENT   entLeaveType = new LeaveTypeENT();
        LeaveTypeBAL   balLeaveType = new LeaveTypeBAL();

        entLeave = balLeave.SelectLeaveStatusByPK(Convert.ToInt32(e.CommandArgument.ToString().Trim()));

        if (e.CommandName == "DeleteRecord")
        {
            if (e.CommandArgument != null)
            {
                entLeaveforRemainingLeave = balLeave.SelectByPK(Convert.ToInt32(e.CommandArgument.ToString().Trim()), Convert.ToInt32(Session["UserID"].ToString()));
                if (balLeaveStatus.Delete(Convert.ToInt32(e.CommandArgument.ToString().Trim())))
                {
                    if (!balLeave.Delete(Convert.ToInt32(e.CommandArgument.ToString().Trim()), Convert.ToInt32(Session["UserID"].ToString().Trim())))
                    {
                        lblErrorMesseage.Text = balLeave.Message;
                    }

                    FillGridViewLeave();
                    displayRemainingLeave();
                }
                else
                {
                    PanelErrorMesseage.Visible = true;
                    lblErrorMesseage.Text      = balLeaveStatus.Message;
                }
                if (entLeave.LeaveResponseBy == "Pending" && entLeave.LeaveStatus == "Pending")
                {
                    if (entLeaveforRemainingLeave.LeaveEndDate != "")
                    {
                        string   strStartDate    = entLeaveforRemainingLeave.LeaveStartDate.ToString();
                        string[] StartDateString = strStartDate.Split('-');
                        DateTime startdate       = Convert.ToDateTime(StartDateString[0] + "-" + StartDateString[1] + "-" + StartDateString[2]);

                        string   strEndDate    = entLeaveforRemainingLeave.LeaveEndDate.ToString();
                        string[] EndDateString = strEndDate.Split('-');
                        DateTime enddate       = Convert.ToDateTime(EndDateString[0] + "-" + EndDateString[1] + "-" + EndDateString[2]);

                        entLeaveType = balLeaveType.SelectByPK(entLeave.LeaveTypeID);
                        if (entLeaveType.LeaveType == "Casual Leave")
                        {
                            entLeaveType.TotalDays = entLeaveType.TotalDays + Convert.ToInt32((enddate - startdate).TotalDays) + 1;
                        }
                        else if (entLeaveType.LeaveType == "Medical Leave")
                        {
                            entLeaveType.TotalDays = entLeaveType.TotalDays + Convert.ToInt32((enddate - startdate).TotalDays) + 1;
                        }
                        else if (entLeaveType.LeaveType == "LOP")
                        {
                            entLeaveType.TotalDays = entLeaveType.TotalDays + Convert.ToInt32((enddate - startdate).TotalDays) + 1;
                        }
                        else if (entLeaveType.LeaveType == "Other Leave")
                        {
                            entLeaveType.TotalDays = entLeaveType.TotalDays + Convert.ToInt32((enddate - startdate).TotalDays) + 1;
                        }
                    }
                    else
                    {
                        entLeaveType = balLeaveType.SelectByPK(entLeave.LeaveTypeID);
                        if (entLeaveType.LeaveType == "Casual Leave")
                        {
                            entLeaveType.TotalDays = entLeaveType.TotalDays + 1;
                        }
                        else if (entLeaveType.LeaveType == "Medical Leave")
                        {
                            entLeaveType.TotalDays = entLeaveType.TotalDays + 1;
                        }
                        else if (entLeaveType.LeaveType == "LOP")
                        {
                            entLeaveType.TotalDays = entLeaveType.TotalDays + 1;
                        }
                        else if (entLeaveType.LeaveType == "Other Leave")
                        {
                            entLeaveType.TotalDays = entLeaveType.TotalDays + 1;
                        }
                    }
                    entLeaveType.UserID = Convert.ToInt32(Session["UserID"].ToString().Trim());
                    if (balLeaveType.UpdateTotalDaysByLeaveType(entLeaveType))
                    {
                        displayRemainingLeave();
                    }
                    else
                    {
                        PanelErrorMesseage.Visible = true;
                        lblErrorMesseage.Text      = balLeaveType.Message;
                    }
                }
            }
        }
        else if (e.CommandName == "EditRecord")
        {
            if (entLeave.LeaveResponseBy != "Pending" && entLeave.LeaveStatus != "Pending")
            {
                PanelErrorMesseage.Visible = true;
                lblErrorMesseage.Text      = "You can not edit leave after Responsed";
            }
            else
            {
                if (e.CommandArgument != null)
                {
                    Response.Redirect("~/Content/Leave/LeaveAddEdit.aspx?LeaveID=" + e.CommandArgument.ToString().Trim());
                }
            }
        }
    }
    protected void btnSave_Click(object sender, EventArgs e)
    {
        #region Collect Data
        UserENT        entUser        = new UserENT();
        LeaveTypeENT   entLeaveType   = new LeaveTypeENT();
        DesignationENT entDesignation = new DesignationENT();

        if (ddlDepartment.SelectedIndex > 0)
        {
            entUser.DepartmentID = Convert.ToInt32(ddlDepartment.SelectedValue);
        }

        if (ddlInstitute.SelectedIndex > 0)
        {
            entUser.InstituteID = Convert.ToInt32(ddlInstitute.SelectedValue);
        }

        if (ddlDesignation.SelectedIndex > 0)
        {
            entUser.DesignationID        = Convert.ToInt32(ddlDesignation.SelectedValue);
            entDesignation.DesignationID = Convert.ToInt32(ddlDesignation.SelectedValue);
        }

        if (rbFemale.Checked != false)
        {
            entUser.Gender = rbFemale.Text.Trim();
        }

        if (rbMale.Checked != false)
        {
            entUser.Gender = rbMale.Text.Trim();
        }

        if (txtUsername.Text.Trim() != "")
        {
            entUser.UserName = txtUsername.Text.Trim();
        }

        if (txtPassword.Text.Trim() != "")
        {
            entUser.Password = txtPassword.Text.Trim();
        }

        if (txtDisplayName.Text.Trim() != "")
        {
            entUser.DisplayName = txtDisplayName.Text.Trim();
        }

        if (txtMobileNo.Text.Trim() != "")
        {
            entUser.MobileNo = txtMobileNo.Text.Trim();
        }

        if (txtDOB.Text.Trim() != "")
        {
            entUser.DOB = txtDOB.Text.Trim();
        }

        if (txtEmail.Text.Trim() != "")
        {
            entUser.Email = txtEmail.Text.Trim();
        }

        if (txtExperience.Text.Trim() != "")
        {
            entUser.Experience = txtExperience.Text.Trim();
        }

        if (txtQualification.Text.Trim() != "")
        {
            entUser.Qualification = txtQualification.Text.Trim();
        }

        if (txtCity.Text.Trim() != "")
        {
            entUser.City = txtCity.Text.Trim();
        }

        if (fuStaffPhoto.HasFile)
        {
            string strFileLocationSave = "~/Content/assets/images/";
            string strPhysicalPath     = "";

            strPhysicalPath      = Server.MapPath(strFileLocationSave);
            strPhysicalPath     += fuStaffPhoto.FileName;
            strFileLocationSave += fuStaffPhoto.FileName;

            if (File.Exists(strPhysicalPath))
            {
                File.Delete(strPhysicalPath);
            }

            fuStaffPhoto.SaveAs(strPhysicalPath);
            entUser.PhotoPath = strFileLocationSave;
        }
        #endregion Collect Data

        UserBAL        balUser        = new UserBAL();
        LeaveTypeBAL   balLeaveType   = new LeaveTypeBAL();
        DesignationBAL balDesignation = new DesignationBAL();

        entDesignation = balDesignation.SelectByPK(entDesignation.DesignationID);

        if (Session["UserID"] == null)
        {
            if (entDesignation.DesignationName == "HOD")
            {
                balUser.Insert(entUser);
                entUser = balUser.SelectByPK(entUser.UserID);

                clearSelection();
                lblSuccess.Text = "Data Inserted Successfully";
            }
            else if (entDesignation.DesignationName != "HOD")
            {
                balUser.Insert(entUser);

                if (entUser.UserID > 0)
                {
                    entLeaveType.UserID = entUser.UserID;
                    entUser             = balUser.SelectByPK(entUser.UserID);
                }
                else
                {
                    lblErrorMessage.Text = "empty";
                    return;
                }

                entLeaveType.LeaveType = "Casual Leave";
                entLeaveType.TotalDays = 25;
                balLeaveType.Insert(entLeaveType);

                entLeaveType.LeaveType = "Medical Leave";
                entLeaveType.TotalDays = 15;
                balLeaveType.Insert(entLeaveType);

                entLeaveType.LeaveType = "LOP";
                entLeaveType.TotalDays = 10;
                balLeaveType.Insert(entLeaveType);

                entLeaveType.LeaveType = "Other Leave";
                entLeaveType.TotalDays = 5;
                balLeaveType.Insert(entLeaveType);

                clearSelection();
                lblSuccess.Text = "Data Inserted Successfully";
            }
            else
            {
                lblErrorMessage.Text = balUser.Message;
            }
            using (MailMessage mail = new MailMessage())
            {
                mail.From = new MailAddress("*****@*****.**");
                mail.To.Add(entUser.Email.ToString());
                mail.Subject = "User Created Successfully !!";
                mail.Body    = "<h3>You can now login into Leave management system</h3><br>" +
                               "Your Username Is :- " + Convert.ToString(entUser.UserName) +
                               "<br>Your Password Is :- " + Convert.ToString(entUser.Password) +
                               "<br><br><i>Please don't reply, this is auto generated email</i>";
                mail.IsBodyHtml = true;

                using (SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587))
                {
                    smtp.Credentials = new NetworkCredential("*****@*****.**", "password");
                    smtp.EnableSsl   = true;
                    smtp.Send(mail);
                }
            }
        }
        else
        {
            entUser.UserID = Convert.ToInt32(Session["UserID"].ToString().Trim());

            if (balUser.Update(entUser))
            {
                if (Session["Select"].ToString() == "Employee")
                {
                    Response.Redirect("~/Content/Home/Employee_Home.aspx");
                }
                else if (Session["Select"].ToString() == "HOD")
                {
                    Response.Redirect("~/Content/Home/HOD_Home.aspx");
                }
            }
            else
            {
                lblErrorMessage.Text = balUser.Message;
            }
        }
    }
Example #9
0
    protected void btnSave_Click(object sender, EventArgs e)
    {
        #region Server Side Validation
        String strError = "";

        if (txtLeaveType.Text.Trim() == "")
        {
            strError += "Enter LeaveType +</br>";
        }

        if (strError.Trim() != "")
        {
            PanelErrorMesseage.Visible = true;
            lblErrorMesseage.Text      = strError;
            return;
        }
        #endregion Server Side Validation

        #region Collect Data
        LeaveTypeENT entLeaveType = new LeaveTypeENT();

        if (txtLeaveType.Text.Trim() != "")
        {
            entLeaveType.LeaveType = txtLeaveType.Text.Trim();
        }

        if (txtTotalDays.Text.Trim() != "")
        {
            entLeaveType.TotalDays = Convert.ToInt32(txtTotalDays.Text.Trim());
        }

        #endregion Collect Data

        LeaveTypeBAL balLeaveType = new LeaveTypeBAL();

        if (Request.QueryString["LeaveTypeID"] == null)
        {
            if (balLeaveType.Insert(entLeaveType))
            {
                clearSelection();
                PanelSuccess.Visible = true;
                lblSuccess.Text      = "Data Inserted Successfully";
            }
            else
            {
                PanelErrorMesseage.Visible = true;
                lblErrorMesseage.Text      = balLeaveType.Message;
            }
        }
        else
        {
            entLeaveType.LeaveTypeID = Convert.ToInt32(Request.QueryString["LeaveTypeID"].ToString().Trim());

            if (balLeaveType.Update(entLeaveType))
            {
                Response.Redirect("~/Content/LeaveType/LeaveTypeList.aspx");
            }
            else
            {
                PanelErrorMesseage.Visible = true;
                lblErrorMesseage.Text      = balLeaveType.Message;
            }
        }
    }
Example #10
0
    private void addLeave()
    {
        LeaveBAL     balLeave     = new LeaveBAL();
        LeaveENT     entLeave     = new LeaveENT();
        LeaveTypeENT entLeaveType = new LeaveTypeENT();
        LeaveTypeBAL balLeaveType = new LeaveTypeBAL();

        entLeave = balLeave.SelectByPK(Convert.ToInt32(Request.QueryString["LeaveID"]), Convert.ToInt32(Session["UserID"].ToString().Trim()));

        if (Request.QueryString["LeaveID"] != null)
        {
            if (entLeave.LeaveEndDate != "")
            {
                string   strStartDate    = entLeave.LeaveStartDate.ToString();
                string[] StartDateString = strStartDate.Split('-');
                DateTime startdate       = Convert.ToDateTime(StartDateString[0] + "-" + StartDateString[1] + "-" + StartDateString[2]);

                string   strEndDate    = entLeave.LeaveEndDate.ToString();
                string[] EndDateString = strEndDate.Split('-');
                DateTime enddate       = Convert.ToDateTime(EndDateString[0] + "-" + EndDateString[1] + "-" + EndDateString[2]);

                entLeaveType = balLeaveType.SelectByPK(entLeave.LeaveTypeID);
                if (entLeaveType.LeaveType == "Casual Leave")
                {
                    entLeaveType.TotalDays  = entLeaveType.TotalDays + Convert.ToInt32((enddate - startdate).TotalDays) + 1;
                    Session["Casual Leave"] = entLeaveType.TotalDays;
                }
                else if (entLeaveType.LeaveType == "Medical Leave")
                {
                    entLeaveType.TotalDays   = entLeaveType.TotalDays + Convert.ToInt32((enddate - startdate).TotalDays) + 1;
                    Session["Medical Leave"] = entLeaveType.TotalDays;
                }
                else if (entLeaveType.LeaveType == "LOP")
                {
                    entLeaveType.TotalDays = entLeaveType.TotalDays + Convert.ToInt32((enddate - startdate).TotalDays) + 1;
                    Session["LOP"]         = entLeaveType.TotalDays;
                }
                else if (entLeaveType.LeaveType == "Other Leave")
                {
                    entLeaveType.TotalDays = entLeaveType.TotalDays + Convert.ToInt32((enddate - startdate).TotalDays) + 1;
                    Session["Other Leave"] = entLeaveType.TotalDays;
                }
            }
            else
            {
                entLeaveType = balLeaveType.SelectByPK(entLeave.LeaveTypeID);
                if (entLeaveType.LeaveType == "Casual Leave")
                {
                    entLeaveType.TotalDays = entLeaveType.TotalDays + 1;
                }
                else if (entLeaveType.LeaveType == "Medical Leave")
                {
                    entLeaveType.TotalDays = entLeaveType.TotalDays + 1;
                }
                else if (entLeaveType.LeaveType == "LOP")
                {
                    entLeaveType.TotalDays = entLeaveType.TotalDays + 1;
                }
                else if (entLeaveType.LeaveType == "Other Leave")
                {
                    entLeaveType.TotalDays = entLeaveType.TotalDays + 1;
                }
            }
            entLeaveType.UserID = Convert.ToInt32(Session["UserID"].ToString().Trim());
            if (!balLeaveType.UpdateTotalDaysByLeaveType(entLeaveType))
            {
                PanelErrorMesseage.Visible = true;
                lblErrorMessage.Text       = balLeaveType.Message;
            }
        }
    }
Example #11
0
    protected void btnCancel_Click(object sender, EventArgs e)
    {
        LeaveENT     entLeave     = new LeaveENT();
        LeaveBAL     balLeave     = new LeaveBAL();
        LeaveTypeENT entLeaveType = new LeaveTypeENT();
        LeaveTypeBAL balLeaveType = new LeaveTypeBAL();

        if (Request.QueryString["LeaveID"] != null)
        {
            entLeave     = balLeave.SelectByPK(Convert.ToInt32(Request.QueryString["LeaveID"]), Convert.ToInt32(Session["UserID"].ToString().Trim()));
            entLeaveType = balLeaveType.SelectByPK(entLeave.LeaveTypeID);
            if (entLeave.LeaveEndDate != "")
            {
                if (entLeaveType.LeaveType == "Casual Leave")
                {
                    entLeaveType.TotalDays  = entLeaveType.TotalDays - Convert.ToInt32(Session["Casual Leave"].ToString().Trim()) - 2;
                    Session["Casual Leave"] = null;
                }
                else if (entLeaveType.LeaveType == "Medical Leave")
                {
                    entLeaveType.TotalDays   = entLeaveType.TotalDays - Convert.ToInt32(Session["Medical Leave"].ToString().Trim()) - 2;
                    Session["Medical Leave"] = null;
                }
                else if (entLeaveType.LeaveType == "LOP")
                {
                    entLeaveType.TotalDays = entLeaveType.TotalDays - Convert.ToInt32(Session["LOP"].ToString().Trim()) - 2;
                    Session["LOP"]         = null;
                }
                else if (entLeaveType.LeaveType == "Other Leave")
                {
                    entLeaveType.TotalDays = entLeaveType.TotalDays - Convert.ToInt32(Session["Other Leave"].ToString().Trim()) - 2;
                    Session["Other Leave"] = null;
                }
            }
            else
            {
                if (entLeaveType.LeaveType == "Casual Leave")
                {
                    entLeaveType.TotalDays = entLeaveType.TotalDays - 1;
                }
                else if (entLeaveType.LeaveType == "Medical Leave")
                {
                    entLeaveType.TotalDays = entLeaveType.TotalDays - 1;
                }
                else if (entLeaveType.LeaveType == "LOP")
                {
                    entLeaveType.TotalDays = entLeaveType.TotalDays - 1;
                }
                else if (entLeaveType.LeaveType == "Other Leave")
                {
                    entLeaveType.TotalDays = entLeaveType.TotalDays - 1;
                }
            }
            entLeaveType.UserID = Convert.ToInt32(Session["UserID"].ToString().Trim());
            if (!balLeaveType.UpdateTotalDaysByLeaveType(entLeaveType))
            {
                PanelErrorMesseage.Visible = true;
                lblErrorMessage.Text       = balLeaveType.Message;
            }
        }
        Response.Redirect("~/Content/Leave/LeaveList.aspx");
    }
Example #12
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;
            }
        }
    }