protected virtual void Handle_ChooseExistingFacility(AddFacilityWizardViewModel viewModel) { //determine whether or not we have a selected CERSID if (viewModel.TargetCERSID.HasValue) { viewModel.State.CERSID = viewModel.TargetCERSID; //get the selected Facility var facility = Repository.Facilities.GetByID(viewModel.TargetCERSID.Value); if (facility != null) { //lets check to see if the current user already has access to this Facility via its associated organization. if (CurrentUserRoles.Contains(facility.CERSID, Context.Organization)) { viewModel.SetStep(AddFacilityWizardStep.FacilityExistsAlreadyBelongsToUsersOrganization); } else { viewModel.SetStep(AddFacilityWizardStep.FacilityExistsRequestAccessOrTransfer); } } else { //not sure yet what to do about this....it shouldn't happen, but you never know... } Services.ViewModels.Facility.Management.SaveState(viewModel); } }
/// <summary> /// آیا کاربر جاری نقشهای مشخص شده را دارا است؟ /// </summary> /// <param name="requiredRoles">لیست یک سری نقش برای بررسی</param> /// <returns>آیا کاربر جاری نقشهای مشخص شده را دارا است؟</returns> public bool IsCurrentUserInRoles(string[] requiredRoles) { if (!IsCurrentUserAuthenticated) { return(false); } if (IsCurrentUserAdmin) { return(true); } if (CurrentUserRoles == null || !CurrentUserRoles.Any()) { return(false); } foreach (var requiredRole in requiredRoles) { if (!AllValidSystemRoles.Contains(requiredRole.Trim())) { throw new InvalidOperationException(string.Format("نقش {0} در مجموعه نقشهای تعریف شده سیستم قرار ندارد.", requiredRole.Trim())); } } if (requiredRoles.Any(requiredRole => CurrentUserRoles.Contains(requiredRole.Trim()))) { return(true); } return(false); }
public ActionResult LoadSurveyForm() { var blSurvey = new BLSurvey(); var type = QuestionType.Faculty; var layout = ""; if (CurrentUserRoles.Contains("Advisor")) { layout = "~/Views/Shared/_LayoutAdvisor.cshtml"; type = QuestionType.Faculty; } if (CurrentUserRoles.Contains("Judge")) { layout = "~/Views/Shared/_LayoutJudge.cshtml"; type = QuestionType.Judge; } if (CurrentUserRoles.Contains(SystemRoles.Student.ToString())) { layout = "~/Views/Shared/_LayoutStudent.cshtml"; type = QuestionType.Student; } if (CurrentUserRoles.Contains(SystemRoles.Leader.ToString())) { layout = "~/Views/Shared/_LayoutLeader.cshtml"; type = QuestionType.Student; } if (CurrentUserRoles.Contains(SystemRoles.CoAdvisor.ToString())) { layout = "~/Views/Shared/_LayoutCoAdvisor.cshtml"; type = QuestionType.Faculty; } var surveyList = blSurvey.GetSurveyList(CurrentUserId, type); return(View("SurveyManagement", new VmSurveyManagement { CurrentUserId = CurrentUserId, CurrentUserRoles = CurrentUserRoles, SurveyList = surveyList, ViewLayout = layout, })); }
/// <summary> /// Gets the roles for user. /// </summary> /// <param name="userName">Name of the user.</param> /// <param name="projectId">The project id.</param> /// <returns></returns> public static List <Role> GetForUser(string userName, int projectId) { if (String.IsNullOrEmpty(userName)) { throw new ArgumentOutOfRangeException("userName"); } if (!HttpContext.Current.User.Identity.IsAuthenticated) { return(DataProviderManager.Provider.GetRolesByUserName(userName, projectId)); } // performance enhancement // WRH 2012-04-06 // use the current loaded user roles if we are looking at the same user return(userName.ToLower().Equals(HttpContext.Current.User.Identity.Name.ToLower()) ? CurrentUserRoles.FindAll(p => p.ProjectId == projectId) : DataProviderManager.Provider.GetRolesByUserName(userName, projectId)); }
public bool HasEditPermission(PageModule pageModule, bool isForCurrentRequest = false) { if (pageModule == null && pageModule.ModulePermissions == null) { throw new ArgumentNullException("pageModule.ModulePermissions", "PageModule and ModulePermissions should not be null"); } var result = (pageModule.ModulePermissions.Any(modulePermission => modulePermission.PermissionId == Globals.ModuleEditPermissionId && (modulePermission.RoleId == Globals.AllUsersRoleId || (IsUserAuthenticated && CurrentUserRoles.Any(role => role.Id == modulePermission.RoleId))))); var page = isForCurrentRequest ? _scopeService.PageContext.CurrentPage : _pageRepository.GetPageAndPagePermissions(pageModule.PageId); return(result || (pageModule.InheritEditPermissions && HasEditPermission(page))); }
public async Task <ActionResult> UpdateProfile(VmPerson model) { var result = true; var user = UserManager.Users.FirstOrDefault(u => u.Id == model.UserId); if ( string.IsNullOrWhiteSpace(model.FirstName) || string.IsNullOrWhiteSpace(model.LastName) || model.Agreement == null || model.Agreement == false ) { result = false; } else { model.CurrentUserId = CurrentUserId; var blPerson = new BLPerson(); result = blPerson.UpdatePerson(model); if (result != false) { user.PhoneNumber = model.PhoneNumber; if (model.Email != null) { user.Email = model.Email; } var blUser = new BLUser(); blUser.UpdatePhoneUserNumber(user.Id, model.PhoneNumber); //await UserManager.UpdateAsync(user); } } var message = ""; if (result == false) { message = model.ActionMessageHandler.Message = "Operation has been failed...\n call system Admin"; } else { message = model.ActionMessageHandler.Message = "Operation has been succeeded"; } var returnUrl = ""; if (CurrentUserRoles.Contains(SystemRoles.Admin.ToString())) { returnUrl = "/admin/index"; } if (CurrentUserRoles.Contains("Advisor")) { if (user.EmailConfirmed == true) { returnUrl = "/advisor/index"; } else { returnUrl = "/home/index"; } } if (CurrentUserRoles.Contains(SystemRoles.Judge.ToString())) { if (user.EmailConfirmed == true) { returnUrl = "/judge/index"; } else { returnUrl = "/home/index"; } } if (CurrentUserRoles.Contains(SystemRoles.Student.ToString())) { returnUrl = "/student/index"; } if (CurrentUserRoles.Contains(SystemRoles.Leader.ToString())) { returnUrl = "/leader/index"; } if (CurrentUserRoles.Contains(SystemRoles.CoAdvisor.ToString())) { returnUrl = "/coadvisor/index"; } if (CurrentUserRoles.Contains(SystemRoles.Lab.ToString())) { if (user.EmailConfirmed == true) { returnUrl = "/lab/index"; } else { returnUrl = "/home/index"; } } var jsonData = new { personId = model.Id, success = result, message, returnUrl, }; return(Json(jsonData, JsonRequestBehavior.AllowGet)); //return View("../Author/PersonEdit", model); }
public ActionResult LoadFinalGradesReport(int id = -1) { var blTeamMember = new BLTeamMember(); var teamMember = blTeamMember.GetTeamMemberByUserId(CurrentUserId); var layout = ""; var teamId = id; if (id == -1) { teamId = teamMember.TeamId; } if (CurrentUserRoles.Contains("Judge") == false) { if (CurrentUserRoles.Contains("Advisor")) { layout = "~/Views/Shared/_LayoutAdvisor.cshtml"; } if (CurrentUserRoles.Contains(SystemRoles.Student.ToString())) { layout = "~/Views/Shared/_LayoutStudent.cshtml"; } if (CurrentUserRoles.Contains(SystemRoles.Leader.ToString())) { layout = "~/Views/Shared/_LayoutLeader.cshtml"; } if (CurrentUserRoles.Contains(SystemRoles.CoAdvisor.ToString())) { layout = "~/Views/Shared/_LayoutCoAdvisor.cshtml"; } //var blTeam = new BLTeam(); //var serveyIsComplete = blTeam.GetTeamById(teamId).Survey; int inCompleteSurveyCount = 0; var allMember = blTeamMember.GetTeamMembers(teamId); inCompleteSurveyCount = allMember.Where(m => (m.RoleName != "Advisor" && m.RoleName != "CoAdvisor") && m.Survey == false).Count(); if (inCompleteSurveyCount > 0) { return(View("Error", new VMHandleErrorInfo { CurrentUserId = CurrentUserId, ErrorMessage = "In order to be able to see your team result, all team members (except Advisors) should complete the servey", ViewLayout = layout })); } } var blGrade = new BLGrade(); var gradegReportList = blGrade.GetStudentGradeReportList(CurrentUserId, teamId); var otherTeamsGradeReportList = blGrade.GetStudentOtherTeamGradeReportList(CurrentUserId, teamId); var currentTeamContainer = otherTeamsGradeReportList.First().TeamGradeList.Where(t => t.TeamId == teamId); if (currentTeamContainer.Count() > 0) { var currentTeam = otherTeamsGradeReportList.First().TeamGradeList.Where(t => t.TeamId == teamId).First(); otherTeamsGradeReportList.First().TeamGradeList.Remove(currentTeam); } return(View("FinalGradeReportManagement", new VmFinalGradeReportManagement { CurrentUserId = CurrentUserId, GradeReportList = gradegReportList, OtherTeamsGradeReportList = otherTeamsGradeReportList, ViewLayout = layout, })); }