private async Task <DeleteResult> CheckPermission(GeoTask entity, Actor currentActor, Project project, bool hardMode) { ActorRole currentActorProjectRole = null; if (project != null && currentActor != null) { project.ProjectActorRoles.TryGetValue(currentActor.Id, out currentActorProjectRole); } var checkModel = new CheckDeletePermissionModel <GeoTask> { Entity = entity, Actor = currentActor, ProjectActorRole = currentActorProjectRole, HardMode = hardMode }; var validator = new GeoTaskDeletePermissionValidator(); var validatorResult = await validator.ValidateAsync(checkModel) .ConfigureAwait(false); if (!validatorResult.IsValid) { return(ErrorResult(validatorResult.Errors .Select(x => x.ErrorMessage))); } return(new DeleteResult { Success = true }); }
private async Task <DeleteResult> CheckPermission(Actor entity, Actor currentActor, bool hardMode) { var checkModel = new CheckDeletePermissionModel <Actor> { Entity = entity, Actor = currentActor, HardMode = hardMode }; var validator = new ActorDeletePermissionValidator(); var validatorResult = await validator.ValidateAsync(checkModel) .ConfigureAwait(false); if (!validatorResult.IsValid) { return(ErrorResult (validatorResult.Errors.Select(x => x.ErrorMessage))); } return(new DeleteResult { Success = true }); }