public async Task <ActionResult> EditarTramite(Guid tramiteId, [FromBody] TramitePutDto tramitePutDto) { if (tramiteId != tramitePutDto.Id) { NotificarErro("Id da request diferente do Id da Entidade!"); return(CustomResponse(tramitePutDto)); } TramiteResultDto tramiteResultDto = await _tramiteService.PesquisarTramitePorId(tramiteId); if (tramiteResultDto == null) { return(NotFound(new { success = true, status = 404, mensagem = "O trâmite informado não foi encontrado!", })); } if (!ModelState.IsValid) { return(CustomResponse(ModelState)); } await _tramiteService.EditarTramite(tramitePutDto, tramiteResultDto); return(CustomResponse(new { mensagem = "O trâmite foi editado com sucesso!", })); }
public async Task <bool> EditarTramite(TramitePutDto tramitePutDto, TramiteResultDto tramiteResultDto) { // validação domínio if (!ExecutarValidacao(new TramitePutDtoValidation(), tramitePutDto)) { return(false); } // validação regra de negócio if (!await ValidarUsuarioEOcorrencia(tramitePutDto.UsuarioId, tramitePutDto.OcorrenciaId, tramitePutDto.DataHora)) { return(false); } // Verificar se já existe um trâmite solução ICollection <TramiteResultDto> listaTramiteResultDto = await _tramiteRepository.PesquisarTramitesPorOcorrencia(tramitePutDto.OcorrenciaId); foreach (TramiteResultDto itemTra in listaTramiteResultDto) { if (bool.Parse(itemTra.Solucao)) { Notificar("Já existe um trâmite definido como solução!"); return(false); } } Tramite tramite = new Tramite(tramitePutDto, tramiteResultDto); await _tramiteRepository.EditarAsync(tramite); return(true); }
public Tramite(TramitePutDto tramitePutDto, TramiteResultDto tramiteResultDto) { Id = Guid.Parse(tramiteResultDto.Id); IncTramite = int.Parse(tramiteResultDto.IncTramite); Descricao = tramitePutDto.Descricao; DataHora = tramitePutDto.DataHora; Solucao = tramitePutDto.Solucao; OcorrenciaId = tramitePutDto.OcorrenciaId; UsuarioId = tramitePutDto.UsuarioId; }