public ActionResult CreateNotice(NoticeModel notice) { ActionResult retVal = null; if (ModelState.IsValid) { notice.PostedBy = SessionStateManager <UserInfo> .Data.Employee.EmployeeId; INoticeDTO noticeDTO = (INoticeDTO)DTOFactory.Instance.Create(DTOType.NoticeDTO); DTOConverter.FillDTOFromViewModel(noticeDTO, notice); INoticeFacade noticeFacade = (INoticeFacade)FacadeFactory.Instance.Create(FacadeType.NoticeManagerFacade); OperationResult <INoticeDTO> result = noticeFacade.CreateNotice(noticeDTO); if (result.IsValid()) { retVal = new JsonResult() { Data = new { Message = "Notice created Successfully", Success = true, RedirectUrl = Url.Action("GetActiveNotices", "Notice") }, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; } else if (result.HasValidationFailed() && (result.ValidationResult != null)) { foreach (EmployeePortalValidationFailure error in result.ValidationResult.Errors) { ModelState.AddModelError(error.PropertyName, error.ErrorMessage); } retVal = PartialView("~/Views/Notice/_EditNotice.cshtml", notice); //retVal = PartialView("~/Views/Shared/_CreateNotice.cshtml",notice); } else if (result.HasFailed()) { //retVal = RedirectToAction("GetActiveNotices", "Notice"); retVal = new JsonResult() { Data = new { Message = "Notice Creation failed", Success = false, RedirectUrl = Url.Action("GetActiceNotices") }, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; } else { retVal = View("~/Views/Shared/Error.cshtml"); } } return(retVal); }
public ActionResult EditProfile(User user) { ActionResult retVal = null; if (ModelState.IsValid) { bool isPasswordChanged = false; user.EmployeeId = SessionStateManager <UserInfo> .Data.EmployeeId; user.IsAdmin = SessionStateManager <UserInfo> .Data.IsAdmin; user.Employee.EmployeeId = SessionStateManager <UserInfo> .Data.Employee.EmployeeId; user.Employee.TerminationDate = SessionStateManager <UserInfo> .Data.Employee.TerminationDate; if (user.OldPassword != null) { if ((user.OldPassword.Equals(SessionStateManager <UserInfo> .Data.Password)) && (user.NewPassword != null)) { user.Password = user.NewPassword; isPasswordChanged = true; } } else { user.Password = SessionStateManager <UserInfo> .Data.Password; } IUserDTO userDTO = (IUserDTO)DTOFactory.Instance.Create(DTOType.UserDTO); DTOConverter.FillDTOFromViewModel(userDTO, user); userDTO.EmployeeDTO = (IEmployeeDTO)DTOFactory.Instance.Create(DTOType.EmployeeDTO); DTOConverter.FillDTOFromViewModel(userDTO.EmployeeDTO, user.Employee); IUserFacade userFacade = (IUserFacade)FacadeFactory.Instance.Create(FacadeType.UserManagerFacade); OperationResult <IUserDTO> result = userFacade.UpdateProfile(userDTO); if (result.IsValid()) { if (isPasswordChanged) { retVal = RedirectToAction("Logout"); } else { var userInfo = SessionStateManager <UserInfo> .Data; FillDetailsOfLoggedInUser(result.Data, userInfo); retVal = RedirectToAction("Index", "Home"); } } else if (result.HasValidationFailed() && (result.ValidationResult != null)) { foreach (EmployeePortalValidationFailure error in result.ValidationResult.Errors) { ModelState.AddModelError(error.PropertyName, error.ErrorMessage); } retVal = View(user); } else if (result.HasFailed()) { } else { retVal = View("~/Views/Shared/Error.cshtml"); } } return(retVal); }