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 async Task <TramiteResultDto> PesquisarTramitePorInc(int incTramite) { try { TramiteResultDto result = await _context.Tramites .Include(tra => tra.UsuarioId) .Include(tra => tra.OcorrenciaId) .Where(tra => tra.IncTramite.Equals(incTramite)) .DefaultIfEmpty() .Select(tra => new TramiteResultDto { Id = tra.Id.ToString(), IncTramite = tra.IncTramite.ToString(), Descricao = tra.Descricao, DataHora = tra.DataHora.ToString("dd/MM/yyyy HH:mm:ss"), Solucao = tra.Solucao ? "SIM" : "NAO", OcorrenciaId = tra.OcorrenciaId.ToString(), UsuarioId = tra.UsuarioId.ToString(), DescricaoOcorrencia = tra.Ocorrencia.IncOcorrencia.ToString() + " - " + tra.Ocorrencia.Titulo, DescricaoUsuario = tra.Usuario.UserName + " - " + tra.Usuario.NomeCompleto, }).SingleAsync(); return(result); } catch (Exception ex) { throw ex; } }
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; }
public async Task <ActionResult> PesquisarTramitePorId(Guid tramiteId) { 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!", })); } return(CustomResponse(tramiteResultDto)); }
public async Task <ActionResult> PesquisarTramitePorInc(int incTramite) { if (!ModelState.IsValid) { return(CustomResponse(ModelState)); } TramiteResultDto tramiteResultDto = await _tramiteService.PesquisarTramitePorInc(incTramite); if (tramiteResultDto == null) { return(NotFound(new { success = true, status = 404, mensagem = "O setor informado não foi encontrado!", })); } return(CustomResponse(tramiteResultDto)); }