예제 #1
0
        private void CalculaSLADaISOL()
        {
            #region Validações

            if (!ocorrencia.TipoDeOcorrencia.HasValue)
            {
                return;
            }

            if (!(ocorrencia.TipoDeOcorrencia.Value >= 200090 && ocorrencia.TipoDeOcorrencia.Value <= 200099))
            {
                return;
            }

            if (!ocorrencia.Prioridade.HasValue || ocorrencia.Localidade == null || ocorrencia.Contrato == null)
            {
                return;
            }

            if (RepositoryService.LinhaDoContrato.ListarPor(ocorrencia.Contrato).Count == 0)
            {
                return;
            }

            #endregion

            var sla = RepositoryService.Ocorrencia.ObterSLAPor(ocorrencia.Contrato, ocorrencia.Prioridade.Value, ocorrencia.Localidade.Id, (TipoDeOcorrencia)ocorrencia.TipoDeOcorrencia);

            //Calcula as respectivas datas de SLA e Escalação e popula as propriedades do próprio objeto
            sla = ocorrencia.CalcularDataDeAtendimento(sla);

            if (sla == null)
            {
                return;
            }

            this.ocorrencia.DataSLA       = sla.DataSLA.Value;
            this.ocorrencia.DataEscalacao = sla.DataEscalacao.Value;
        }