public void MonitoramentoPorSolicitacoes() { Trace = new SDKore.Helper.Trace("Monitoramento por Solicitação"); mensagemLog = new List <string>(); List <CompromissosDoCanal> lstCompCanal = CompromissoDoCanalService.ListarAtivosVencidosCumpridos(Intelbras.CRM2013.Domain.Enum.CompromissoPrograma.TipoMonitoramento.Solicitacoes); foreach (var item in lstCompCanal) { List <Tarefa> tarefas = TarefaService.ListarTarefasAtivas(item.ID.Value); var compromissoCanalUpdate = new CompromissosDoCanal(item.OrganizationName, isOffline) { ID = item.ID }; if (tarefas.Count > 0) { compromissoCanalUpdate.StatusCompromisso = new Lookup(StatusCompromissoNaoCumprido.ID.Value, ""); } else { ParametroGlobal paramGlobal = new Domain.Servicos.ParametroGlobalService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider) .ObterFrequenciaAtividadeChecklist(item.Compromisso.Id); if (paramGlobal != null) { compromissoCanalUpdate.Validade = DateTime.Today.AddDays(int.Parse(paramGlobal.Valor)); } else { InserirLogFormat("Parametro global {0} não localizado para o compromisso {1}", Enum.TipoParametroGlobal.FrequenciaChecklist, item.Compromisso.Name); continue; } } RepositoryService.CompromissosDoCanal.Update(compromissoCanalUpdate); } this.EnviaEmailDeLog("Monitoramento Por Solicitações"); }
private void ExecutaVerificacaoDeValidade_Solicitacoes(CompromissosDoCanal compCanal) { List <Tarefa> tarefas = TarefaService.ListarTarefasAtivas(compCanal.ID.Value); CompromissosDoPrograma compPrograma = RepositoryService.CompromissosPrograma.ObterPorCompCanal(compCanal.ID.Value); #region VERIFICA VALIDADE if ((compCanal.Validade == null || compCanal.Validade < DateTime.Now) && (compPrograma.TipoMonitoramento != null && compPrograma.TipoMonitoramento.Value == (int)Enum.CompromissoPrograma.TipoMonitoramento.Solicitacoes)) { if (tarefas.Count > 0) { if (tarefas[0].Conclusao < DateTime.Now) { compCanal.StatusCompromisso = new Lookup(RepositoryService.StatusCompromissos.ObterPor(Domain.Enum.CompromissoCanal.StatusCompromisso.Nao_Cumprido).ID.Value, ""); RepositoryService.CompromissosDoCanal.Update(compCanal); } } else { ParametroGlobal paramGlobal = new Domain.Servicos.ParametroGlobalService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider) .ObterFrequenciaAtividadeChecklist(compCanal.Compromisso.Id); if (paramGlobal != null) { compCanal.Validade = DateTime.Now.AddDays(int.Parse(paramGlobal.Valor)); RepositoryService.CompromissosDoCanal.Update(compCanal); } else { InserirLog("Parametro global " + Enum.TipoParametroGlobal.FrequenciaChecklist + " não localizado para o compromisso " + compCanal.Compromisso.Name); } } } #endregion }