Example #1
0
        public void CorrigirOcorrenciasPrevisaoInicial()
        {
            var ocorrencias = _repositorio.ObterOcorrenciasCorrecao();
            var feriados    = _feriadoServico.ObterTodos().Where(x => x.Uf == null || x.Uf == "SP");

            var listaDatasFeriado =
                feriados.Select(
                    feriado =>
                    new DateTime(feriado.Ano <= 0 ? DateTime.Now.Year : feriado.Ano, feriado.Mes, feriado.Dia))
                .ToList();

            if (ocorrencias.Any())
            {
                foreach (var ocorrencia in ocorrencias)
                {
                    var ocorrenciaTipo  = ocorrencia.OcorrenciaTipo;
                    var previsaoInicial = Metodos.CalcularSla(ocorrenciaTipo.TempoPrevistoAtendimento,
                                                              listaDatasFeriado, !ocorrenciaTipo.TempoPrevistoCorrido, false, ocorrencia.CriadoEm);

                    ocorrencia.PrevisaoInicial = previsaoInicial;
                    _repositorio.Atualizar(ocorrencia);
                }
            }
        }