コード例 #1
0
        public LeaveRespond CheckLeaveStatus(int leaveRequestId, RequestsProcessedByEnum en)
        {
            SqlConnection conn = null;
            SqlCommand    cmd  = null;

            try
            {
                conn            = DALHelper.CreateSqlDbConnection();
                cmd             = new SqlCommand("usp_CheckLeaveStatus", conn);
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@LeaveRequestId", leaveRequestId);
                cmd.Parameters.AddWithValue("@RequestProcessedBy", en);

                SqlDataReader rdr     = cmd.ExecuteReader();
                LeaveRespond  respond = new LeaveRespond();
                if (rdr.Read())
                {
                    respond.Id             = Convert.ToInt32(rdr["Id"]);
                    respond.LeaveRequestId = leaveRequestId;
                }
                return(respond);
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                conn.Close();
                cmd.Dispose();
                conn.Dispose();
            }
        }
コード例 #2
0
        public void Respond(LeaveRespond t)
        {
            SqlConnection conn = null;
            SqlCommand    cmd  = null;

            try
            {
                conn            = DALHelper.CreateSqlDbConnection();
                cmd             = new SqlCommand("usp_RespondLeaveRequest", conn);
                cmd.CommandType = System.Data.CommandType.StoredProcedure;

                cmd.Parameters.AddWithValue("@LeaveRequestId", t.LeaveRequestId);
                cmd.Parameters.AddWithValue("@ResponseStatus", t.ResponseStatus);
                cmd.Parameters.AddWithValue("@ResponseDate", t.ResponseDate);
                cmd.Parameters.AddWithValue("@Notes", t.Notes);
                cmd.Parameters.AddWithValue("@ResponderId", t.ResponderId);
                cmd.Parameters.AddWithValue("@RequestProcessedBy", t.RequestProcessedBy);


                cmd.ExecuteNonQuery();
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                conn.Close();
                cmd.Dispose();
                conn.Dispose();
            }
        }
コード例 #3
0
ファイル: Respond.aspx.cs プロジェクト: apkalexei/HRMS
        protected void DeclineButton_Click(object sender, EventArgs e)
        {
            LeaveRespond respond = new LeaveRespond();

            respond.LeaveRequestId = Convert.ToInt32(Request.QueryString["LeaveRequestId"]);
            respond.Notes          = "";
            respond.ResponderId    = new UserMapper().GetUserByUserName(UserPrincipal.Current.SamAccountName).EmployeeId;
            respond.ResponseDate   = DateTime.Now;
            respond.ResponseStatus = RequestsEnum.Declined;
            new LeaveRespondMapper().Respond(respond);
            Response.Redirect("/HRM/Dashboard.aspx");
        }
コード例 #4
0
ファイル: Respond.aspx.cs プロジェクト: apkalexei/HRMS
        private void AproveAsAlternateAndManager()
        {
            LeaveRespond respond = new LeaveRespond();

            respond.LeaveRequestId = Convert.ToInt32(Request.QueryString["LeaveRequestId"]);
            respond.Notes          = "";
            respond.ResponderId    = new UserMapper().GetUserByUserName(UserPrincipal.Current.SamAccountName).EmployeeId;
            respond.ResponseDate   = DateTime.Now;
            respond.ResponseStatus = RequestsEnum.Processed;

            respond.RequestProcessedBy = RequestsProcessedByEnum.Alternate;
            new LeaveRespondMapper().Respond(respond);

            respond = new LeaveRespond();
            respond.LeaveRequestId = Convert.ToInt32(Request.QueryString["LeaveRequestId"]);
            respond.Notes          = "";
            respond.ResponderId    = new UserMapper().GetUserByUserName(UserPrincipal.Current.SamAccountName).EmployeeId;
            respond.ResponseDate   = DateTime.Now;
            respond.ResponseStatus = RequestsEnum.Processed;

            respond.RequestProcessedBy = RequestsProcessedByEnum.Manager;
            new LeaveRespondMapper().Respond(respond);
        }
コード例 #5
0
ファイル: Respond.aspx.cs プロジェクト: apkalexei/HRMS
        protected void ProceedButton_Click(object sender, EventArgs e)
        {
            LeaveRequestView view = new LeaveRequestMapper().Get(Convert.ToInt32(Request.QueryString["LeaveRequestId"]));

            //What about if the alternate manager and hr are the same problem / we have a problem
            #warning Warning of design concerns

            if (view.AlternateEmployee == view.ManagerEmployee)
            {
                AproveAsAlternateAndManager();
            }
            else
            {
                LeaveRespond respond = new LeaveRespond();
                respond.LeaveRequestId = Convert.ToInt32(Request.QueryString["LeaveRequestId"]);
                respond.Notes          = "";
                respond.ResponderId    = new UserMapper().GetUserByUserName(UserPrincipal.Current.SamAccountName).EmployeeId;
                respond.ResponseDate   = DateTime.Now;
                respond.ResponseStatus = RequestsEnum.Processed;

                if (view.AlternateEmployee == UserPrincipal.Current.SamAccountName)
                {
                    respond.RequestProcessedBy = RequestsProcessedByEnum.Alternate;
                }
                if (view.ManagerEmployee == UserPrincipal.Current.SamAccountName)
                {
                    respond.RequestProcessedBy = RequestsProcessedByEnum.Manager;
                }
                else
                {
                    respond.RequestProcessedBy = RequestsProcessedByEnum.HRM;
                }
                new LeaveRespondMapper().Respond(respond);
            }

            Response.Redirect("/HRM/Dashboard.aspx");
        }