public ICommandResult Handle(FinalizarInspecaoCommand command) { //Fail Fast Validation command.Validate(); if (command.Invalid) { return(new GenericCommandResult(false, _msgError, command.Notifications)); } var usuario = _usuario_repository.ObterPorIdFirebase(command.IdFirebase); var inspecao = _inspecao_repository.ObterInspecaoEmAndamentoPorUsuario(usuario.Id); //Verifica se a inspeção pertence ao usuário if (inspecao == null) { return(new GenericCommandResult(false, "Não foi possível localizar a inspeção em andamento para o usuário logado", null)); } var inspecaoStatus = _inspecao_status_repository.ObterPorNome("FINALIZADA"); inspecao.AlterarStatus(inspecaoStatus); inspecao.FinalizarInspecao(command.Observacao); _inspecao_repository.Atualizar(inspecao); //Retorna o resultado return(new GenericCommandResult(true, "Inspeção finalizada com Sucesso!", null)); }
public GenericCommandResult PostFinalizarRondaInspecao([FromRoute] Guid idInspecao, [FromBody] FinalizarInspecaoCommand command, [FromServices] InspecaoHandler handler) { return((GenericCommandResult)handler.Handle(new FinalizarInspecaoCommand( HttpContext.User.Identities.FirstOrDefault().Claims.FirstOrDefault(c => c.Type.Contains("user_id")).Value, idInspecao, command.Observacao ))); }