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;
		}