コード例 #1
0
        public async Task <ActionResult> Reject(LoaViewModel lvm)
        {
            try
            {
                //if(string.IsNullOrEmpty(tsvm.TempComments))
                //{
                //    return Json(new { HasErrors= true, Errors = "Comments are Mandatory"});
                //}

                LOAService loaService = new LOAService();

                var loa = loaService.GetJustLOA(lvm.LoaId);
                if (loa == null)
                {
                    TempData["error"] = "LOA does not exist or you dont have permissions";
                    return(RedirectToAction("EmployeeRepomanLOAList"));
                }
                loa.LookupLoaStatus = loaService.GetLookupIdForCodeName("Rejected", "LoaStatus").LookupCodeId;
                loa.Comments       += " " + lvm.TempComments + " (" + DateTime.Now.ToString() + "), <br> ";
                loa.ModifiedDate    = DateTime.Now;
                loa.ModifiedUserId  = User.Identity.GetUserId();
                loaService.UpdateLOA(loa);
                await SendEmailLOARejected(lvm.LoaId);

                TempData["status"] = "LOA " + loa.LoaCode + " has been rejected and mail has been sent to employee";
                return(null);
            }
            catch (Exception ex)
            {
                TempData["error"] = "Something went wrong while Rejecting";
                return(RedirectToAction("EmployeeRepoManLOAList"));
            }
        }
コード例 #2
0
 public ActionResult Approve(int id)
 {
     try
     {
         ChangeStatusOfLOA(id, "Approved");
         LOAService loaService = new LOAService();
         var        loa        = loaService.GetJustLOA(id);
         if (loa == null)
         {
             TempData["error"] = "LOA does not exist or you dont have permissions";
             return(RedirectToAction("EmployeeRepomanLOAList"));
         }
         var         userId      = User.Identity.GetUserId();
         UserService userService = new UserService();
         var         user        = userService.GetUserWithId(userId);
         loa.ApprovedBy     = user.Firstname + " " + user.LastName + " (" + user.EmployeeCode + ")";
         loa.ModifiedDate   = DateTime.Now;
         loa.ModifiedUserId = User.Identity.GetUserId();
         loaService.UpdateLOA(loa);
         TempData["status"] = "LOA " + loa.LoaCode + " has been approved";
         return(RedirectToAction("EmployeeRepomanLOAList"));
     }
     catch (Exception ex)
     {
         TempData["error"] = "Something went wrong while Approving";
         return(RedirectToAction("EmployeeRepoManLOAList"));
     }
 }
コード例 #3
0
        public ActionResult EmployeeAdminLOADelete(int id)
        {
            try
            {
                LOAService loaService = new LOAService();

                var loa = loaService.GetJustLOA(id);
                if (loa == null)
                {
                    TempData["error"] = "LOA does not exist";
                    return(RedirectToAction("EmployeeAdminLOAList"));
                }
                loa.IsDeleted      = true;
                loa.IsActive       = false;
                loa.ModifiedUserId = User.Identity.GetUserId();
                loa.ModifiedDate   = DateTime.Now;

                loaService.UpdateLOA(loa);

                TempData["status"] = "LOA " + loa.LoaCode + " successfully deleted";
                return(RedirectToAction("EmployeeAdminLOAList"));
            }
            catch
            {
                TempData["error"] = "Something went wrong while deleting LOA";
                return(RedirectToAction("EmployeeAdminLOAList"));
            }
        }
コード例 #4
0
        private void ChangeStatusOfLOA(int id, string status)
        {
            LOAService loaService = new LOAService();
            var        loa        = loaService.GetJustLOA(id);

            loa.LookupLoaStatus = loaService.GetLookupIdForCodeName(status, "LoaStatus").LookupCodeId;
            loa.ModifiedDate    = DateTime.Now;
            loa.ModifiedUserId  = User.Identity.GetUserId();
            loaService.UpdateLOA(loa);
        }
コード例 #5
0
        public async Task <ActionResult> EmployeeAdminLOAEdit([Bind(Exclude = "LookupLoaStatus,LoaCode")] LoaViewModel lvm, string action)
        {
            try
            {
                LOAService loaService = new LOAService();

                if (!ModelState.IsValid)
                {
                    lvm.TimeOfDayList   = GetDropDownList("LoaTimeOfDay", null);
                    lvm.TypeOfLeaveList = GetDropDownList("LoaTypeOfLeave", null);
                    return(View(lvm));
                }


                var loa = loaService.GetJustLOA(lvm.LoaId);
                if (loa == null)
                {
                    TempData["error"] = "LOA does not exist";
                    return(RedirectToAction("EmployeeAdminLOAList"));
                }
                loa.StartDate         = lvm.StartDate;
                loa.EndDate           = lvm.EndDate;
                loa.LookupTimeOfDay   = lvm.LookupTimeOfDay;
                loa.OtherTimeOfDay    = lvm.OtherTimeOfDay;
                loa.LookupTypeOfLeave = lvm.LookupTypeOfLeave;
                loa.OtherTypeOfLeave  = lvm.OtherTypeOfLeave;
                loa.ReasonForLeave    = lvm.ReasonForLeave;

                loa.ModifiedUserId = User.Identity.GetUserId();
                loa.ModifiedDate   = DateTime.Now;

                loaService.UpdateLOA(loa);
                ChangeStatusOfLOA(loa.LoaId, "Pending");

                TempData["status"] = "LOA " + loa.LoaCode + " successfully updated and status changed to pending ";

                return(RedirectToAction("EmployeeAdminLOAList"));
            }
            catch (Exception ex)
            {
                LOAService loaService = new LOAService();
                TempData["error"]          = "Something went wrong while editing LOA";
                lvm.TimeOfDayList          = GetDropDownList("LoaTimeOfDay", null);
                lvm.TypeOfLeaveList        = GetDropDownList("LoaTypeOfLeave", null);
                lvm.LookupOtherTimeOfDay   = loaService.GetLookupIdForCodeName("Other", "LoaTimeOfDay").LookupCodeId;
                lvm.LookupOtherTypeOfLeave = loaService.GetLookupIdForCodeName("Other", "LoaTypeOfLeave").LookupCodeId;
                return(RedirectToAction("EmployeeAdminLOAList"));
            }
        }
コード例 #6
0
        public async Task <ActionResult> MyLOAEdit([Bind(Exclude = "LookupLoaStatus,LoaCode")] LoaViewModel lvm, string action)
        {
            try
            {
                LOAService loaService = new LOAService();

                if (!ModelState.IsValid)
                {
                    lvm.TimeOfDayList   = GetDropDownList("LoaTimeOfDay", null);
                    lvm.TypeOfLeaveList = GetDropDownList("LoaTypeOfLeave", null);
                    return(View(lvm));
                }

                //var loa = Mapper.Map<LoaViewModel, LOA>(lvm);
                var loa = loaService.GetJustMyLOA(lvm.LoaId, User.Identity.GetUserId());
                if (loa == null)
                {
                    TempData["error"] = "LOA does not exist";
                    return(RedirectToAction("MyLOAList"));
                }
                loa.StartDate         = lvm.StartDate;
                loa.EndDate           = lvm.EndDate;
                loa.LookupTimeOfDay   = lvm.LookupTimeOfDay;
                loa.OtherTimeOfDay    = lvm.OtherTimeOfDay;
                loa.LookupTypeOfLeave = lvm.LookupTypeOfLeave;
                loa.OtherTypeOfLeave  = lvm.OtherTypeOfLeave;
                loa.ReasonForLeave    = lvm.ReasonForLeave;


                loa.ModifiedUserId = User.Identity.GetUserId();
                loa.ModifiedDate   = DateTime.Now;

                loaService.UpdateLOA(loa);


                UserService userService = new UserService();
                var         user        = userService.GetUserWithId(lvm.UserId);
                var         repoMan     = user.AspNetUser1;

                TempData["status"] = "LOA successfully updated";

                if (string.Equals(action.ToString(), "Submit"))
                {
                    if (repoMan != null)
                    {
                        ChangeStatusOfLOA(loa.LoaId, "Pending");
                        await SendEmailLOASubmitted(loa.LoaId);

                        TempData["status"] = "LOA " + loa.LoaCode + " successfully saved and submitted to your reporting manager";
                    }

                    else
                    {
                        TempData["status"] = "Your LOA is saved but not submitted. You do not have a reporting manager assigned. Please contact your admin.";
                    }
                }

                return(RedirectToAction("MyLOAList"));
            }
            catch (Exception ex)
            {
                LOAService loaService = new LOAService();
                TempData["error"]          = "Something went wrong while editing LOA";
                lvm.TimeOfDayList          = GetDropDownList("LoaTimeOfDay", null);
                lvm.TypeOfLeaveList        = GetDropDownList("LoaTypeOfLeave", null);
                lvm.LookupOtherTimeOfDay   = loaService.GetLookupIdForCodeName("Other", "LoaTimeOfDay").LookupCodeId;
                lvm.LookupOtherTypeOfLeave = loaService.GetLookupIdForCodeName("Other", "LoaTypeOfLeave").LookupCodeId;
                return(RedirectToAction("MyLOAList"));
            }
        }