public ActionResult Detail(int id) { var model = new MasterDataApprovalItemViewModel(); model.CurrentMenu = PageInfo; model.MainMenu = _mainMenu; var data = _masterDataAprovalBLL.GetByApprovalId(id); var workflowHistory = _workflowHistoryBLL.GetByFormTypeAndFormId(new GetByFormTypeAndFormIdInput() { FormId = data.APPROVAL_ID, FormType = Enums.FormType.MasterDataApproval }); model.WorkflowHistory = new List <WorkflowHistoryViewModel>(); model.WorkflowHistory.Add(new WorkflowHistoryViewModel() { ACTION = EnumHelper.GetDescription(Enums.ActionType.Created), ACTION_BY = data.CREATED_BY, ACTION_DATE = data.CREATED_DATE, FORM_TYPE_ID = Enums.FormType.MasterDataApproval, FORM_NUMBER = data.FORM_ID, Role = EnumHelper.GetDescription(_poaBLL.GetUserRole(data.CREATED_BY)), USERNAME = data.CREATED_BY }); model.WorkflowHistory.AddRange(Mapper.Map <List <WorkflowHistoryViewModel> >(workflowHistory)); model.Detail = Mapper.Map <MasterDataApprovalDetailViewModel>(data); var detailObject = _masterDataAprovalBLL.GetObjectDetails(data.FORM_ID, data.PAGE_ID); model.Detail.DetailObject = Mapper.Map <List <MasterDataApprovalDetail> >(detailObject); model.IsMasterApprover = _userBLL.IsUserMasterApprover(CurrentUser.USER_ID); return(View(model)); }
public void SetLoginSession() { if (Session[Core.Constans.SessionKey.CurrentUser] == null) { var userId = User.Identity.Name.Split('\\')[User.Identity.Name.Split('\\').Length - 1]; //User.Identity.Name.Remove(0, 4); IUserBLL userBll = MvcApplication.GetInstance <UserBLL>(); IPOABLL poabll = MvcApplication.GetInstance <POABLL>(); IUserAuthorizationBLL userAuthorizationBll = MvcApplication.GetInstance <UserAuthorizationBLL>(); var loginResult = userBll.GetLogin(userId); if (loginResult != null) { //CurrentUser = loginResult; loginResult.UserRole = poabll.GetUserRole(loginResult.USER_ID); loginResult.AuthorizePages = userAuthorizationBll.GetAuthPages(loginResult.USER_ID); loginResult.NppbckPlants = userAuthorizationBll.GetNppbckPlants(loginResult.USER_ID); loginResult.ListUserPlants = new List <string>(); loginResult.ListUserNppbkc = new List <string>(); switch (loginResult.UserRole) { case Enums.UserRole.User: case Enums.UserRole.Viewer: case Enums.UserRole.Controller: loginResult.ListUserPlants = userAuthorizationBll.GetListPlantByUserId(loginResult.USER_ID); loginResult.ListUserNppbkc = userAuthorizationBll.GetListNppbkcByUserId(loginResult.USER_ID); break; case Enums.UserRole.POA: loginResult.ListUserPlants = new List <string>(); foreach (var nppbkcPlantDto in loginResult.NppbckPlants) { foreach (var plantDto in nppbkcPlantDto.Plants) { loginResult.ListUserPlants.Add(plantDto.WERKS); } } loginResult.ListUserNppbkc = loginResult.NppbckPlants.Select(c => c.NppbckId).ToList(); break; } } Session[Core.Constans.SessionKey.CurrentUser] = loginResult; } }
public ActionResult Index(LoginFormModel model) { var loginResult = _userBll.GetLogin(model.Login.UserId); if (loginResult != null) { //CurrentUser = loginResult; CurrentUser.UserRole = _poabll.GetUserRole(loginResult.USER_ID); CurrentUser.AuthorizePages = _userAuthorizationBll.GetAuthPages(loginResult.USER_ID); CurrentUser.NppbckPlants = _userAuthorizationBll.GetNppbckPlants(loginResult.USER_ID); CurrentUser.ListUserPlants = new List <string>(); CurrentUser.ListUserNppbkc = new List <string>(); switch (CurrentUser.UserRole) { case Enums.UserRole.User: case Enums.UserRole.Controller: case Enums.UserRole.Viewer: CurrentUser.ListUserPlants = _userAuthorizationBll.GetListPlantByUserId(loginResult.USER_ID); CurrentUser.ListUserNppbkc = _userAuthorizationBll.GetListNppbkcByUserId(loginResult.USER_ID); break; case Enums.UserRole.POA: CurrentUser.ListUserPlants = new List <string>(); foreach (var nppbkcPlantDto in CurrentUser.NppbckPlants) { foreach (var plantDto in nppbkcPlantDto.Plants) { CurrentUser.ListUserPlants.Add(plantDto.WERKS); } } CurrentUser.ListUserNppbkc = CurrentUser.NppbckPlants.Select(c => c.NppbckId).ToList(); break; } return(RedirectToAction("Index", "Home")); } return(RedirectToAction("Unauthorized", "Error")); }
public bool IsAllowEditLack1(string createdUser, string currentUserId, Enums.DocumentStatus status, Enums.UserRole role, string documentNumber) { if (_poabll.GetUserRole(currentUserId) == Enums.UserRole.Administrator) { return(true); } if (status == Enums.DocumentStatus.WaitingGovApproval) { string originalPoa; if (createdUser == currentUserId) { return(true); } originalPoa = createdUser; if (role == Enums.UserRole.POA) { //get poa Original that already approve or reject var workflowHistoryDto = _workflowHistoryBll.GetDtoApprovedRejectedPoaByDocumentNumber(documentNumber); if (workflowHistoryDto != null) { if (!string.IsNullOrEmpty(workflowHistoryDto.COMMENT) && workflowHistoryDto.COMMENT.Contains(Constans.LabelDelegatedBy)) //approve by delegated { //find the original originalPoa = workflowHistoryDto.COMMENT.Substring( workflowHistoryDto.COMMENT.IndexOf(Constans.LabelDelegatedBy, System.StringComparison.Ordinal)); originalPoa = originalPoa.Replace(Constans.LabelDelegatedBy, ""); originalPoa = originalPoa.Replace("]", ""); } else { originalPoa = workflowHistoryDto.ACTION_BY; } } } //get delegated user var listUser = new List <string>(); listUser.Add(originalPoa); var poaDelegate = _poaDelegationServices.GetPoaDelegationToByPoaFromAndDate(originalPoa, DateTime.Now); listUser.AddRange(poaDelegate); if (originalPoa != createdUser) { //get delegate for created user too poaDelegate = _poaDelegationServices.GetPoaDelegationToByPoaFromAndDate(createdUser, DateTime.Now); listUser.AddRange(poaDelegate); } if (listUser.Contains(currentUserId)) { return(true); } } if (createdUser != currentUserId) { if ( !_poaDelegationServices.IsDelegatedUserByUserAndDate(createdUser, currentUserId, DateTime.Now)) { return(false); } } if (!(status == Enums.DocumentStatus.Draft || status == Enums.DocumentStatus.Rejected || status == Enums.DocumentStatus.WaitingGovApproval || status == Enums.DocumentStatus.Completed)) { return(false); } return(true); }
public List <UserDto> GetListUserRoleByUserId(string userId) { var userRole = _poabll.GetUserRole(userId); List <string> listPlantUserFrom; List <string> listPlantUserTo; if (userRole == Enums.UserRole.POA) { listPlantUserFrom = _poabll.GetPoaPlantByPoaId(userId); } else if (userRole == Enums.UserRole.User) { listPlantUserFrom = _userPlantMapBll.GetByUserId(userId).Select(c => c.PLANT_ID).ToList(); } else { listPlantUserFrom = new List <string>(); } var listUser = _repository.Get(); var filterResult = new List <USER>(); foreach (var user in listUser) { var role = _poabll.GetUserRole(user.USER_ID); if (userRole == role) { if (role == Enums.UserRole.POA) { //get list plant from poa_map listPlantUserTo = _poabll.GetPoaPlantByPoaId(user.USER_ID); //foreach (var plantUserTo in listPlantUserTo) //{ // foreach (var plantUserFrom in listPlantUserFrom) // { // if (plantUserFrom == plantUserTo) // filterResult.Add(user); // } //} } else if (role == Enums.UserRole.User) { //get list plant from user_plant map listPlantUserTo = _userPlantMapBll.GetByUserId(user.USER_ID).Select(c => c.PLANT_ID).ToList(); } else { listPlantUserTo = new List <string>(); } foreach (var plantUserTo in listPlantUserTo) { foreach (var plantUserFrom in listPlantUserFrom) { if (plantUserFrom == plantUserTo) { filterResult.Add(user); } } } } } filterResult = filterResult.Where(c => c.USER_ID != userId).DistinctBy(c => c.USER_ID).ToList(); return(Mapper.Map <List <UserDto> >(filterResult)); }
public JsonResult GetUserRole(string userId) { var dbUser = _poabll.GetUserRole(userId); return(Json(dbUser.ToString())); }