Exemplo n.º 1
0
        public ICommandResult Handle(AtualizarSistemaCommand command)
        {
            //Fail Fast Validation
            command.Validate();
            if (command.Invalid)
            {
                return(new GenericCommandResult(false, _msgError, command.Notifications));
            }

            var sistema = _sistema_repository.ObterPorId(Guid.Parse(command.Id));

            sistema.AlterarNomeDescricao(command.Nome, command.Descricao);
            sistema.AtivarDesativar(command.Ativo);

            _sistema_repository.Atualizar(sistema);

            //Atualiza os Itens de Inspeção
            foreach (var item in command.ItensSistema)
            {
                var itemSistema   = new SistemaItem();
                var unidadeMedida = _unidade_medida_repository.ObterPorId(Guid.Parse(item.IdUnidadeMedida));

                if (Guid.TryParse(item.Id, out var idItem))
                {
                    itemSistema = _sistema_item_repository.ObterPorId(idItem);
                    itemSistema.AlterarSistemaItem(item.Nome, item.Descricao, unidadeMedida);
                    itemSistema.AtualizarOrdem(item.NumeroOrdem);
                    itemSistema.AtivarDesativar(item.Ativo);
                    _sistema_item_repository.Atualizar(itemSistema);
                }
                else
                {
                    var ultimaOrdemItem = _sistema_item_repository.ObterUltimaOrdem(sistema.Id);
                    _sistema_item_repository.Criar(new SistemaItem(item.Nome, item.Descricao, sistema, ultimaOrdemItem + 1, unidadeMedida));
                }
            }

            //Retorna o resultado
            return(new GenericCommandResult(true, "Sistema alterado com Sucesso!", null));
        }
Exemplo n.º 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 }));
        }
Exemplo n.º 3
0
 private bool PossuirItemSistemaCadastrado()
 {
     return(_sistema_item_repository.ObterPorId(IdItemSistema) != null);
 }