private void AssertPermission(DeployProjectRoleEnvironmentPermission item, EnumPermissionAccess access) { Assert.AreEqual(access, item.Access); }
private void ValidateEnvironmentPermissions(List<DeployProjectRoleEnvironmentPermission> permissionList, string projectRoleId, DeployProject project) { var itemsToDelete = new List<DeployProjectRoleEnvironmentPermission>(); foreach(var item in permissionList) { var environment = project.EnvironmentList.FirstOrDefault(i=>i.Id == item.EnvironmentId); if(environment == null) { itemsToDelete.Add(item); } else { item.EnvironmentName = environment.EnvironmentName; } } foreach(var item in itemsToDelete) { permissionList.Remove(item); } foreach(var environment in project.EnvironmentList) { var item = permissionList.FirstOrDefault(i=>i.EnvironmentId == environment.Id); if(item == null) { item = new DeployProjectRoleEnvironmentPermission { EnvironmentId = environment.Id, EnvironmentName = environment.EnvironmentName, //ProjectId = project.Id, //ProjectRoleId = projectRoleId, Access = EnumPermissionAccess.Grant }; permissionList.Add(item); } } }
private void SetPermission(DeployProject project, DeployEnvironment environment, List<DeployProjectRoleEnvironmentPermission> list, EnumPermissionAccess access) { foreach(var x in project.EnvironmentList) { var item = list.FirstOrDefault(i=>i.EnvironmentId == x.Id); if(item == null) { item = new DeployProjectRoleEnvironmentPermission { //Id = this.Fixture.Create<string>(), //ProjectId = project.Id, EnvironmentId = x.Id, EnvironmentName = x.CreatedByUserName }; list.Add(item); } } list.First(i=>i.EnvironmentId == environment.Id).Access = access; }
private List<DeployProjectRoleEnvironmentPermission> MergePermissions(IEnumerable<DeployProjectRoleEnvironmentPermission> permissionList) { var returnList = new List<DeployProjectRoleEnvironmentPermission>(); var environmentIdList = permissionList.Select(i=>i.EnvironmentId).Distinct(); foreach(var environmentId in environmentIdList) { var environmentPermissionList = permissionList.Where(i=>i.EnvironmentId == environmentId); var item = new DeployProjectRoleEnvironmentPermission { EnvironmentId = environmentId, EnvironmentName = StringHelper.IsNullOrEmpty(environmentPermissionList.Select(i=>i.EnvironmentName).FirstOrDefault(), environmentId), //ProjectId = environmentPermissionList.Select(i=>i.ProjectId).FirstOrDefault(), Access = environmentPermissionList.Any(i=>i.Access == EnumPermissionAccess.Deny) ? EnumPermissionAccess.Deny : environmentPermissionList.Any(i=>i.Access == EnumPermissionAccess.Grant) ? EnumPermissionAccess.Grant : EnumPermissionAccess.None }; returnList.Add(item); } return returnList; }