Пример #1
0
 public GenericCommandResult PostSalvarItemSistemaRondaInspecao([FromRoute] Guid idInspecao,
                                                                [FromBody] GravarItemSistemaInspecaoCommand command,
                                                                [FromServices] InspecaoHandler handler,
                                                                [FromServices] IInspecaoRepository inspecao_repository)
 {
     return((GenericCommandResult)handler.Handle(new GravarItemSistemaInspecaoCommand(
                                                     idInspecao,
                                                     command.IdItemSistema,
                                                     command.Valor,
                                                     HttpContext.User.Identities.FirstOrDefault().Claims.FirstOrDefault(c => c.Type.Contains("user_id")).Value,
                                                     inspecao_repository
                                                     )));
 }
Пример #2
0
        public ICommandResult Handle(GravarItemSistemaInspecaoCommand command)
        {
            //Fail Fast Validation
            command.Validate();
            if (command.Invalid)
            {
                return(new GenericCommandResult(false, _msgError, command.Notifications));
            }

            var itemInspecao = _inspecao_item_repository.ObterItemInspecao(command.IdInspecao, command.IdItemSistema);

            if (itemInspecao != null)
            {
                itemInspecao.AtualizaValor(command.Valor);
                _inspecao_item_repository.AtualizarItemInspecao(itemInspecao);
            }
            else
            {
                var inspecao     = _inspecao_repository.ObterPorId(command.IdInspecao);
                var item_sistema = _sistema_item_repository.ObterPorId(command.IdItemSistema);

                _inspecao_item_repository.CriarItemInspecao(new InspecaoItem(inspecao, DateTime.Now, null, item_sistema, command.Valor));
                itemInspecao = _inspecao_item_repository.ObterItemInspecao(command.IdInspecao, command.IdItemSistema);
            }

            //Verificar se todos os itens já foram inspecionados
            var itens_sistema = _sistema_item_repository.ObterItensSistemaInspecao(itemInspecao.SistemaItem.Sistema.Id);

            var itens_inspecao = _inspecao_item_repository.ObterItensInspecao(command.IdInspecao, itemInspecao.SistemaItem.Sistema.Id);

            var inspecaoConcluida = true;

            foreach (var item in itens_sistema)
            {
                if (!itens_inspecao.Any(x => x.SistemaItem.Nome.Contains(item.Nome)))
                {
                    inspecaoConcluida = false;
                }
            }

            //Retorna o resultado
            return(new GenericCommandResult(true, "Item de Inspeção salvo com Sucesso!", new { inspecaoConcluida = inspecaoConcluida }));
        }