Beispiel #1
0
        public async Task <ServicoDto> Salvar(ServicoDto servicoDto)
        {
            Servico servico = new(servicoDto.Id, servicoDto.Codigo, servicoDto.Nome, servicoDto.Descricao, servicoDto.Valor, servicoDto.Alteracao, servicoDto.Ativo);
            Servico resultado;

            if (servicoDto.Id.Equals(0))
            {
                resultado = await _repositorio.Adicionar(servico);

                if (resultado is null)
                {
                    throw new Exception("Erro ao cadastrar, contate o administrador do sistema.");
                }

                servicoDto.Id     = resultado.Id;
                servicoDto.Codigo = resultado.Codigo;

                return(servicoDto);
            }
            else
            {
                resultado = await _repositorio.Atualizar(servico);

                if (resultado is null)
                {
                    throw new Exception("Erro ao atualizar, contate o administrador do sistema.");
                }

                return(servicoDto);
            }
        }
Beispiel #2
0
        public async Task <IActionResult> Edit(int id, [Bind("ServicoId,Nome,Valor,Status,UsuarioId")] Servico servico)
        {
            if (id != servico.ServicoId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                await _servicoRepositorio.Atualizar(servico);

                TempData["Atualizacao"] = $"Serviço {servico.Nome} atualizado";
                return(RedirectToAction(nameof(Index)));
            }
            return(View(servico));
        }
Beispiel #3
0
        public ActionResult Atualizar([Bind(Include = "Id, Descricao, Status, RecintoAlfandegado, Operador, Redex, ServicosSelecionados")] ServicoViewModel viewModel, int?id)
        {
            if (id == null)
            {
                return(RedirectToAction(nameof(Index)));
            }

            var servico = _servicoRepositorio.ObterServicoPorId(id.Value);

            if (servico == null)
            {
                RegistroNaoEncontrado();
            }

            var servicoBusca = _servicoRepositorio.ObterServicoPorDescricao(viewModel.Descricao, servico.Id);

            if (servicoBusca != null)
            {
                ModelState.AddModelError(string.Empty, "Já existe um serviço cadastrado com a mesma descrição.");
            }

            if (ModelState.IsValid)
            {
                servico.Alterar(new Servico(
                                    viewModel.Descricao,
                                    viewModel.Status,
                                    viewModel.RecintoAlfandegado,
                                    viewModel.Operador,
                                    viewModel.Redex
                                    ));

                servico.ServicosVinculados.Clear();

                foreach (var servicoSelecionado in viewModel.ServicosSelecionados)
                {
                    servico.AdicionarServicoVinculado(new ServicoFaturamento(servicoSelecionado));
                }

                if (Validar(servico))
                {
                    _servicoRepositorio.Atualizar(servico);
                    TempData["Sucesso"] = true;

                    GravarLogAuditoria(TipoLogAuditoria.UPDATE, servico);
                }
            }

            PopularServicos(viewModel);
            PopularServicosVinculados(viewModel);

            return(View(viewModel));
        }