public void Delete(FeaturePermission featurePermission) { using (var uow = this.GetUnitOfWork()) { var featurePermissionRepository = uow.GetRepository <FeaturePermission>(); featurePermissionRepository.Delete(featurePermission); uow.Commit(); } }
public UserDetails GetUserDetails(Guid id) { var jarvisUser = _userRepository.Get(id); // ToDO: Add with validation - Need a View Model -- UserDetailsViewModel.... var userDetails = new UserDetails() { Id = jarvisUser.Id, Email = jarvisUser.Email, UserName = jarvisUser.UserName, Disabled = jarvisUser.Disabled, UserType = jarvisUser.UserType, IsSuperUser = jarvisUser.IsSuperUser, FirstName = jarvisUser.FirstName, LastName = jarvisUser.LastName }; // Todo:If Super User then no need to check the below var applicationPermissions = new List <ApplicationPermission>(); foreach (var userAppRole in jarvisUser.UserAppRoleMappings) { // Use this Join roleDetails -- It has all required details var roleDetails = _roleRepository.GetRelatedPrivilegesForRoleAndApp(userAppRole.RoleId, userAppRole.ApplicationId); if (roleDetails.Count > 0) { var applicationPermission = new ApplicationPermission(); applicationPermission.Id = userAppRole.ApplicationId; applicationPermission.Name = roleDetails[0].ApplicationName; applicationPermission.RoleId = userAppRole.Role.Id; applicationPermission.Role = roleDetails[0].RoleName; Dictionary <int, FeaturePermission> featurePermissions = new Dictionary <int, FeaturePermission>(); foreach (var roleDetail in roleDetails) { FeaturePermission featurePermission = new FeaturePermission(); featurePermission.FeatureTypeId = roleDetail.FeatureTypeId; featurePermission.TypeName = roleDetail.FeatureTypeName; featurePermission.Label = roleDetail.FeatureLabel; featurePermission.ParentFeatureId = roleDetail.ParentFeatureId; featurePermission.Order = roleDetail.Order; featurePermission.Privileges = roleDetail.Privileges; // Todo: May be no need to add the Dictionary -- The below array should be OK applicationPermission.FeaturePermissions.Add(featurePermission.FeatureTypeId, featurePermission); // Added if we need the fearures as an array applicationPermission.FeaturesList.Add(featurePermission); } applicationPermissions.Add(applicationPermission); } } userDetails.ApplicationPermissions = applicationPermissions; return(userDetails); }
public void Update(FeaturePermission entity) { using (var uow = this.GetUnitOfWork()) { var repo = uow.GetRepository <FeaturePermission>(); repo.Merge(entity); var merged = repo.Get(entity.Id); repo.Put(merged); uow.Commit(); } }
public static FeaturePermission ToFeaturePermission(AlumniFeaturePermission alumniFeaturePermission) { var featurePermission = new FeaturePermission { Feature = alumniFeaturePermission.Feature, PermissionType = alumniFeaturePermission.PermissionType, Subject = alumniFeaturePermission.Subject }; return(featurePermission); }
public static AlumniFeaturePermission ToAlumniFeaturePermission(FeaturePermission featurePermission) { var alumniFeaturePermission = new AlumniFeaturePermission { Feature = featurePermission.Feature, PermissionType = featurePermission.PermissionType, Subject = featurePermission.Subject }; return(alumniFeaturePermission); }
public void Create(Subject subject, Feature feature, PermissionType permissionType = PermissionType.Grant) { using (var uow = this.GetUnitOfWork()) { var subjectRepository = uow.GetReadOnlyRepository <Subject>(); var featureRepository = uow.GetReadOnlyRepository <Feature>(); var featurePermission = new FeaturePermission() { Subject = subjectRepository.Get(subject.Id), Feature = featureRepository.Get(feature.Id), PermissionType = permissionType }; var featurePermissionRepository = uow.GetRepository <FeaturePermission>(); featurePermissionRepository.Put(featurePermission); uow.Commit(); } }
public async Task <PermissionStatus> RequestPermissionAsync(FeaturePermission featurePermission) { var permission = ToPermission(featurePermission); var status = await _permissions.CheckPermissionStatusAsync(permission); var now = DateTime.Now; if (status != Plugin.Permissions.Abstractions.PermissionStatus.Granted && (!_previousRequests.ContainsKey(featurePermission) || _previousRequests[featurePermission].Add(RequestTimeout) < now)) { _previousRequests[featurePermission] = now; var results = await _permissions.RequestPermissionsAsync(permission); if (results.ContainsKey(permission)) { status = results[permission]; } } return((PermissionStatus)status); }
public void Create(long?subjectId, long featureId, PermissionType permissionType) { using (var uow = this.GetUnitOfWork()) { var featureRepository = uow.GetReadOnlyRepository <Feature>(); var subjectRepository = uow.GetReadOnlyRepository <Subject>(); if (Exists(subjectId, featureId, permissionType)) { return; } var featurePermission = new FeaturePermission { Feature = featureRepository.Get(featureId), PermissionType = permissionType, Subject = subjectId == null ? null : subjectRepository.Query(s => s.Id == subjectId).FirstOrDefault() }; var featurePermissionRepository = uow.GetRepository <FeaturePermission>(); featurePermissionRepository.Put(featurePermission); uow.Commit(); } }
private Permission ToPermission(FeaturePermission featurePermission) { var name = Enum.GetName(typeof(FeaturePermission), featurePermission); return((Permission)Enum.Parse(typeof(Permission), name)); }
public async Task <PermissionStatus> CheckPermissionStatusAsync(FeaturePermission featurePermission) { return((PermissionStatus)await _permissions.CheckPermissionStatusAsync(ToPermission(featurePermission))); }
/* public List<ApolloUser> GetAllUsersBasedOnUserType(Domain.Enum.UserType userType) * { * return _userRepository.FindSupportUsers(user => user.UserTypeId == (int)userType).ToList(); * // return _userRepository.GetSupportUsers(); * } */ public UserDetails GetUserDetails(Guid id) { var user = _userRepository.Get(id); var userDetails = new UserDetails() { Id = user.Id, Email = user.Email, UserName = user.UserName, FirstName = user.FirstName, LastName = user.LastName, IsActive = user.IsActive, UserTypeId = user.UserTypeId, PhoneNumber = user.PhoneNumber, }; var applicationPermissions = new List <ApplicationPermission>(); foreach (var userAppRole in user.UserAppRoleMappings) { List <RolePrivilege> roleDetails = new List <RolePrivilege>(); if (userDetails.UserTypeId == (int)Apollo.Domain.Enum.UserType.SupportUser) { roleDetails = _roleRepository.GetRelatedPrivilegesForRoleAndApp(userAppRole.RoleId, userAppRole.ApplicationId); } else if (userDetails.UserTypeId == (int)Apollo.Domain.Enum.UserType.SocietyUser) { roleDetails = _roleRepository.GetRelatedPrivilegesForRoleAppAndSociety (userAppRole.RoleId, userAppRole.ApplicationId, userAppRole.SocietyId); } if (roleDetails.Count > 0) { var applicationPermission = new ApplicationPermission(); applicationPermission.Id = userAppRole.ApplicationId; applicationPermission.Name = roleDetails[0].ApplicationName; applicationPermission.RoleId = userAppRole.Role.Id; applicationPermission.Role = roleDetails[0].RoleName; Dictionary <int, FeaturePermission> featurePermissions = new Dictionary <int, FeaturePermission>(); foreach (var roleDetail in roleDetails) { FeaturePermission featurePermission = new FeaturePermission(); featurePermission.FeatureTypeId = roleDetail.FeatureTypeId; featurePermission.TypeName = roleDetail.FeatureTypeName; featurePermission.Label = roleDetail.FeatureLabel; featurePermission.ParentFeatureId = roleDetail.ParentFeatureId; featurePermission.Order = roleDetail.Order; featurePermission.Privileges = roleDetail.Privileges; applicationPermission.FeaturesList.Add(featurePermission); } applicationPermissions.Add(applicationPermission); } } userDetails.ApplicationPermissions = applicationPermissions; return(userDetails); }