Exemple #1
0
        public void LinkAbsenceWithLeaveRequest(List <ReportedAbsenceEntity> t, LeaveRequestEntity request)
        {
            SqlConnection conn = null;
            SqlCommand    cmd  = null;

            try
            {
                conn = DALHelper.CreateSqlDbConnection();

                foreach (ReportedAbsenceEntity ae in t)
                {
                    cmd             = new SqlCommand("usp_LinkAbsenceWithLeaveRequest", conn);
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;

                    cmd.Parameters.AddWithValue("@ReportedAbsenceId", ae.Id);
                    cmd.Parameters.AddWithValue("@LeaveRequestId", request.Id);

                    conn.Close();
                    cmd.Dispose();

                    cmd.ExecuteNonQuery();
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                conn.Close();
                cmd.Dispose();
                conn.Dispose();
            }
        }
Exemple #2
0
        public async Task <ActionResult> SaveLeaveStatus()
        {
            try
            {
                string UnParse = Request.Form["hdnLeaveStatus"].ToString();
                Dictionary <int, int> StatusList = new Dictionary <int, int>();
                List <string>         tempstr    = new List <string>();
                tempstr = UnParse.Split(',').ToList();
                foreach (string item in tempstr)
                {
                    string data;
                    data = item.Trim('(');
                    data = data.Trim(')');
                    StatusList.Add(int.Parse(data.Split('|').ToArray()[0]), int.Parse(data.Split('|').ToArray()[1]));
                }

                foreach (var item in StatusList)
                {
                    try
                    {
                        LeaveRequestEntity ob = new LeaveRequestEntity();
                        ob               = LeaveServices.GetLeaveByRequestId(item.Key);
                        ob.RequestId     = item.Key;
                        ob.LeaveStatusId = item.Value;
                        ob.UpdatedBy     = HRMHelper.CurrentUser.UserId;
                        LeaveServices.InsertUpdateLeave(ob);
                        if (item.Value != (int)LeaveServices.Leave_status_Type.PendingApproval)
                        {
                            string Heading     = GetHeading(item.Value);
                            string MailMessage = "Your " + Heading + " from " + ob.StartTime.ToString("MM/dd/yy") + " to " + ob.EndTime.ToString("MM/dd/yy");
                            try
                            {
                                string    CCMail  = AppSettings.HRMail;
                                ArrayList Urltext = new ArrayList();
                                ArrayList Urls    = new ArrayList();
                                Urltext.Add("Click Here to check status");
                                Urls.Add(AppSettings.SiteURL + Url.Action("LeaveRecords", "Leave"));
                                UserEntity tempUser = UserServices.GetUserByID(ob.UserId);
                                await MailUtil.MailSend(Heading, tempUser.Name, MailMessage, Urltext, Urls, tempUser.Email, CCMail, Heading);
                            }
                            catch
                            { }
                        }
                    }
                    catch
                    { }
                }
                TempData[HRMWeb.Helpers.AlertStyles.Success] = "Leave Status Updated Successfully.";
            }
            catch
            { }
            return(RedirectToAction("LeaveRecords", "Leave"));
        }
Exemple #3
0
        public static int InsertUpdateLeave(LeaveRequestEntity ob)
        {
            try
            {
                int LeaveId = 0;
                using (HRMEntities db = new HRMEntities())
                {
                    System.Data.Entity.Core.Objects.ObjectParameter OutPut = new System.Data.Entity.Core.Objects.ObjectParameter("Output", typeof(int));
                    db.sp_InsertUpdateLeaveRequest(ob.RequestId, ob.UserId, ob.LeaveStatusId, ob.LeaveTypeId, ob.LeaveDurationId, ob.StartTime, ob.EndTime, ob.Description, ob.UpdatedBy, OutPut);
                    LeaveId = int.Parse(OutPut.Value.ToString());
                }

                return(LeaveId);
            }
            catch
            {
                throw;
            }
        }
Exemple #4
0
        protected void ProceedButton_Click(object sender, EventArgs e)
        {
            LeaveRequestEntity entity = new LeaveRequestEntity();

            entity.LeaveTypeId = Convert.ToInt32(LeaveTypeDropDownList.SelectedValue);
            entity.RequestDate = DateTime.Now;

            DateTime dt;

            if (DateTime.TryParseExact(StartDateTextBox.Text, "dd.MM.yyyy", null, System.Globalization.DateTimeStyles.None, out dt))
            {
                entity.StartDate = dt;
            }
            if (!IsHalfDayCheckBox.Checked)
            {
                if (DateTime.TryParseExact(EndDateTextBox.Text, "dd.MM.yyyy", null, System.Globalization.DateTimeStyles.None, out dt))
                {
                    entity.EndDate = dt;
                }
            }
            entity.Notes = OtherInfoTextBox.Text;

            entity.EmployeeId        = new UserMapper().GetUserByUserName(UserPrincipal.Current.SamAccountName).EmployeeId;
            entity.AlternatePersonId = Convert.ToInt32(AlternateEmployeeDropDownList.SelectedValue);
            #warning set Manager to managerEmployeeId
            //entity.ManagerEmployeeId =
            entity.PaymentTypeId = Convert.ToInt32(PaymentTypeDropDownList.SelectedValue);

            entity.LeaveStatus = RequestsEnum.Request;

            new LeaveRequestMapper().RequestLeave(entity);

            #warning set this to a good mail message
            string[] to = { "*****@*****.**" };
            SendMail.Send(to, "Hi", ("HR Test from system. LeaveRequest by employee Id" + entity.EmployeeId));

            Response.Redirect("List.aspx");
        }
Exemple #5
0
        public void RequestLeave(LeaveRequestEntity t)
        {
            SqlConnection conn = null;
            SqlCommand    cmd  = null;

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

                cmd.Parameters.AddWithValue("@LeaveTypeId", t.LeaveTypeId);
                cmd.Parameters.AddWithValue("@LeaveLevelTypeId", t.PaymentTypeId);
                cmd.Parameters.AddWithValue("@RequestDate", t.RequestDate);
                cmd.Parameters.AddWithValue("@StartDate", t.StartDate);
                cmd.Parameters.AddWithValue("@EndDate", t.EndDate);
                cmd.Parameters.AddWithValue("@IsHalfDay", t.IsHalfDay);
                cmd.Parameters.AddWithValue("@Notes", t.Notes);
                cmd.Parameters.AddWithValue("@EmployeeId", t.EmployeeId);
                cmd.Parameters.AddWithValue("@AlternatePersonId", t.AlternatePersonId);
                cmd.Parameters.AddWithValue("@ManagerEmployeeId", t.ManagerEmployeeId);
                cmd.Parameters.AddWithValue("@Status", t.LeaveStatus);

                t.Id = Convert.ToInt32(cmd.ExecuteScalar());
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                conn.Close();
                cmd.Dispose();
                conn.Dispose();
            }
        }
 public static int InsertUpdateLeave(LeaveRequestEntity ob)
 {
     return(LeaveProvider.InsertUpdateLeave(ob));
 }
Exemple #7
0
        public async Task <ActionResult> ApplyLeave(LeaveModel model)
        {
            ViewBag.LeaveType     = LeaveServices.GetAllLeaveType();
            ViewBag.LeaveDuration = LeaveServices.GetAllLeaveDuration();
            if (ModelState.IsValid)
            {
                DateTime           StartDate;
                DateTime           EndDate;
                LeaveRequestEntity ob = new LeaveRequestEntity();
                if (model.StartTime == null)
                {
                    TempData[HRMWeb.Helpers.AlertStyles.Warning] = "Please Input Start Date";
                    return(View(model));
                }
                if (model.EndTime == null)
                {
                    TempData[HRMWeb.Helpers.AlertStyles.Warning] = "Please Input End Date";
                    return(View(model));
                }

                StartDate = model.StartTime == null ? DateTime.Now.Date : (DateTime)model.StartTime;
                EndDate   = model.EndTime == null ? DateTime.Now.Date : (DateTime)model.EndTime;

                if (StartDate > EndDate)
                {
                    TempData[HRMWeb.Helpers.AlertStyles.Warning] = "Start Date can not exceed End Date";
                    return(View(model));
                }
                ob.RequestId       = 0;
                ob.UserId          = HRMHelper.CurrentUser.UserId;
                ob.LeaveStatusId   = (int)LeaveServices.Leave_status_Type.PendingApproval;
                ob.LeaveTypeId     = model.LeaveTypeId;
                ob.LeaveDurationId = model.LeaveDurationId == 0 ? (int)LeaveServices.Leave_Duration.FullDay : model.LeaveDurationId;
                ob.StartTime       = StartDate;
                ob.EndTime         = EndDate;
                ob.Description     = model.Description;
                ob.UpdatedBy       = HRMHelper.CurrentUser.UserId;
                int x = LeaveServices.InsertUpdateLeave(ob);
                if (x > 0)
                {
                    ob.RequestId = x;
                    TempData[HRMWeb.Helpers.AlertStyles.Success] = "Leave Applied Successfully";
                    string MailMessage = "You applied for leave from " + ob.StartTime.ToString("MM/dd/yy") + " to " + ob.EndTime.ToString("MM/dd/yy");
                    string Heading     = "Leave Applied";
                    try
                    {
                        UserEntity manager = UserServices.GetUserByID(HRMHelper.CurrentUser.ManagerId);
                        string     CCMail  = manager.Email + "," + AppSettings.HRMail;
                        ArrayList  Urltext = new ArrayList();
                        ArrayList  Urls    = new ArrayList();
                        Urltext.Add("Click Here to check status");
                        Urls.Add(AppSettings.SiteURL + Url.Action("LeaveRecords", "Leave"));
                        await MailUtil.MailSend(Heading, HRMHelper.CurrentUser.Name, MailMessage, Urltext, Urls, HRMHelper.CurrentUser.Email, CCMail, Heading);
                    }
                    catch
                    { }
                }
                else
                {
                    TempData[HRMWeb.Helpers.AlertStyles.Danger] = "Leave Apply Fails";
                    return(View(model));
                }
            }
            model = new LeaveModel();
            return(View(model));
        }