示例#1
0
        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));
        }
示例#2
0
 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
                                                     )));
 }