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); } }
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)); }
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)); }