private async Task <CreateResult> CheckPermission(GeoTask task, Actor actor, Project project) { ActorRole currentActorProjectRole = null; if (project != null && actor != null) { project.ProjectActorRoles? .TryGetValue(actor.Id, out currentActorProjectRole); } var checkModel = new CheckCreatePermissionModel <GeoTask> { Entity = task, Actor = actor, ProjectActorRole = currentActorProjectRole }; var validator = new GeoTaskCreatePermissionValidator(); var validatorResult = await validator .ValidateAsync(checkModel) .ConfigureAwait(false); if (!validatorResult.IsValid) { return(ErrorResult(validatorResult.Errors .Select(x => x.ErrorMessage))); } return(new CreateResult { Success = true, Id = task.Id }); }
private async Task <CreateResult> CheckPermission(Actor actor, Actor currentActor) { var checkModel = new CheckCreatePermissionModel <Actor> { Entity = actor, Actor = currentActor }; var validator = new ActorCreatePermissionValidator(); var validatorResult = await validator.ValidateAsync(checkModel) .ConfigureAwait(false); if (!validatorResult.IsValid) { return(ErrorResult(validatorResult.Errors .Select(x => x.ErrorMessage))); } return(new CreateResult { Success = true, Id = actor.Id }); }
private async Task <CreateResult> CheckPermission (_TEntity entity, Actor currentActor, ActorRole currentProjectRole) { var checkModel = new CheckCreatePermissionModel <_TEntity> { Entity = entity, Actor = currentActor, ProjectActorRole = currentProjectRole }; var validator = new CreatePermissionValidator <_TEntity>(); var validatorResult = await validator.ValidateAsync(checkModel) .ConfigureAwait(false); if (!validatorResult.IsValid) { return(ErrorResult(validatorResult.Errors .Select(x => x.ErrorMessage))); } return(new CreateResult { Success = true }); }