Exemple #1
0
        public async Task <ActionResult> CadastrarOcorrencia([FromBody] OcorrenciaPostDto ocorrenciaPostDto)
        {
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            await _ocorrenciaService.AbrirOcorrencia(ocorrenciaPostDto);

            return(CustomResponse(new
            {
                mensagem = "Ocorrência foi aberta com sucesso!",
            }));
        }
 public Ocorrencia(OcorrenciaPostDto ocorrenciaPostDto)
 {
     Titulo                    = ocorrenciaPostDto.Titulo;
     DataHoraInicio            = ocorrenciaPostDto.DataHoraInicio;
     DataHoraFim               = ocorrenciaPostDto.DataHoraFim;
     DataHoraUltimaAtualizacao = DateTime.Now;
     ChamadoTI                 = ocorrenciaPostDto.ChamadoTI;
     ChamadoFornecedor         = ocorrenciaPostDto.ChamadoFornecedor;
     ChamadoTI                 = ocorrenciaPostDto.OcorrenciaCCM;
     Acionamento               = ocorrenciaPostDto.Acionamento;
     Impacto                   = ocorrenciaPostDto.Impacto;
     DescricaoImpacto          = ocorrenciaPostDto.DescricaoImpacto;
     StatusAtualOcorrencia     = StatusOcorrenciaEnum.ANDAMENTO;
     UsuarioId                 = ocorrenciaPostDto.UsuarioId;
 }
        public async Task <bool> AbrirOcorrencia(OcorrenciaPostDto ocorrenciaPostDto)
        {
            // validação domínio
            if (!ExecutarValidacao(new OcorrenciaPostDtoValidation(), ocorrenciaPostDto))
            {
                return(false);
            }

            // validação regra de negócio
            if (!await EhDataHoraValida(ocorrenciaPostDto.TurnoId, ocorrenciaPostDto.DataHoraInicio, ocorrenciaPostDto.DataHoraFim))
            {
                return(false);
            }

            if (!await EhTurnoValido(ocorrenciaPostDto.TurnoId))
            {
                return(false);
            }

            if (!await EhUsuarioValido(ocorrenciaPostDto.UsuarioId))
            {
                return(false);
            }

            if (!await EhListaAtivoValida(ocorrenciaPostDto.Ativos))
            {
                return(false);
            }

            Ocorrencia ocorrencia = new Ocorrencia(ocorrenciaPostDto);

            OcorrenciaResultDto ocorrenciaResultDto = await _ocorrenciaRepository.AbrirOcorrencia(ocorrencia);

            await CadastrarTurnoOcorrencia(ocorrenciaPostDto.TurnoId, ocorrenciaResultDto);

            await CadastrarOcorrenciaAtivo(Guid.Parse(ocorrenciaResultDto.Id), ocorrenciaPostDto.Ativos);

            return(true);
        }