public ActionResult MyLOADelete(int id) { try { LOAService loaService = new LOAService(); var loa = loaService.GetJustMyLOA(id, User.Identity.GetUserId()); if (loa == null) { TempData["error"] = "LOA does not exist or you dont have permissions"; return(RedirectToAction("MyLOAList")); } 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("MyLOAList")); } catch { TempData["error"] = "Something went wrong while deleting LOA"; return(RedirectToAction("MyLOAList")); } }
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")); } }