public void VerificaLocalidades() { PortalSLMDataContext dc = new PortalSLMDataContext(new Uri(itemConfig.uri)); dc.Credentials = new NetworkCredential(itemConfig.user, itemConfig.password, itemConfig.domain); mdIndicadoresLinha itemIndicador = null; string varLocal = string.Empty; foreach (LocalidadeItem itemLista in dc.Localidade) { var queryView = (from lstIndicador in lstIndicadorLinhaResult where lstIndicador.Localidade.Contains(itemLista.Localidade) select lstIndicador.Localidade); if (queryView.Count() == 0) { //insere incidente itemIndicador = new mdIndicadoresLinha(); itemIndicador.NomeIndicador = "Chamados Ativos"; itemIndicador.Localidade = itemLista.Localidade; itemIndicador.NomeLocal = itemLista.Apelido; itemIndicador.Texto = itemLista.Apelido + " - Incidente"; itemIndicador.Valor = "0"; itemIndicador.Status = "UNDEFINED"; itemIndicador.Data = DateTime.Now.ToString("dd/MM/yyyy HH:mm"); lstIndicadorLinhaResult.Add(itemIndicador); //insere tarefa de catálogo itemIndicador = new mdIndicadoresLinha(); itemIndicador.NomeIndicador = "Chamados Ativos"; itemIndicador.Localidade = itemLista.Localidade; itemIndicador.NomeLocal = itemLista.Apelido; itemIndicador.Texto = itemLista.Apelido + " - Requisição"; itemIndicador.Valor = "0"; itemIndicador.Status = "UNDEFINED"; itemIndicador.Data = DateTime.Now.ToString("dd/MM/yyyy HH:mm"); lstIndicadorLinhaResult.Add(itemIndicador); } } }
public void GeraIndicador() { string varApelido = String.Empty; PortalSLMDataContext dc = new PortalSLMDataContext(new Uri(itemConfig.uri)); dc.Credentials = new NetworkCredential(itemConfig.user, itemConfig.password, itemConfig.domain); // Verifica a qtde de incidente e tarefa de catálogo (requisição), agrupa por localidade. // Mostra incidente e tarefa de catálogo como registros separados. var queryView = (from lstView in lstViewResult group lstView by new { lstView.Localidade } into lstGroup select new { Localidade = lstGroup.Key.Localidade, QtdeIncidente = lstGroup.Count(x => x.Tipo == "incident"), QtdeCatalogo = lstGroup.Count(x => x.Tipo == "sc_task") }); mdIndicadoresLinha itemIndicador = null; foreach (var itemQuery in queryView) { var queryLocal = (from lstLocal in dc.Localidade where lstLocal.Localidade.Equals(itemQuery.Localidade) select new { ApelidoLocal = lstLocal.Apelido }); if (queryLocal.Count() == 0) { varApelido = itemQuery.Localidade; } else { foreach (var itemQueryLocal in queryLocal) { varApelido = itemQueryLocal.ApelidoLocal; } } //insere incidente itemIndicador = new mdIndicadoresLinha(); itemIndicador.NomeIndicador = "Chamados Ativos"; itemIndicador.Localidade = itemQuery.Localidade; itemIndicador.NomeLocal = varApelido; itemIndicador.Texto = varApelido + " - Incidente"; itemIndicador.Valor = itemQuery.QtdeIncidente.ToString(); itemIndicador.Status = "UNDEFINED"; itemIndicador.Data = DateTime.Now.ToString("dd/MM/yyyy HH:mm"); lstIndicadorLinhaResult.Add(itemIndicador); //insere Requisição (tarefa de catálogo) itemIndicador = new mdIndicadoresLinha(); itemIndicador.NomeIndicador = "Chamados Ativos"; itemIndicador.Localidade = itemQuery.Localidade; itemIndicador.NomeLocal = varApelido; itemIndicador.Texto = varApelido + " - Requisição"; itemIndicador.Valor = itemQuery.QtdeCatalogo.ToString(); itemIndicador.Status = "UNDEFINED"; itemIndicador.Data = DateTime.Now.ToString("dd/MM/yyyy HH:mm"); lstIndicadorLinhaResult.Add(itemIndicador); } }