Esempio 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));
        }
Esempio n. 2
0
        public SistemaViewModel Atualizar(SistemaViewModel sistemaViewModel)
        {
            if (!sistemaViewModel.Ativo)
            {
                Remover(sistemaViewModel.Id);
                return(sistemaViewModel);
            }

            var sistema = Mapper.Map <Sistema>(sistemaViewModel);

            _sistemaRepository.Atualizar(sistema);
            Commit();
            return(sistemaViewModel);
        }
        public async Task <IActionResult> Edit(int id, SistemaViewModel sistemaViewModel)
        {
            if (id != sistemaViewModel.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                await _sistemaRepository.Atualizar(_mapper.Map <Sistema>(sistemaViewModel));

                return(RedirectToAction(nameof(Index)));
            }
            return(View(sistemaViewModel));
        }