/// <summary> /// /// </summary> /// <param name="codigosRastreio"></param> /// <param name="resultado"></param> /// <returns>T-> Serão retornados todos os Eventos, U -> Sera retornado apenas o ultimo Evento.</returns> public async static Task <SROXml> GetXmlCorreios(string codigosRastreio, Enumeration.Resultado resultado) { List <string> listCodigo = new List <string>(); listCodigo.Add(codigosRastreio); return(await GetXmlCorreios(listCodigo, resultado)); }
/// <summary> /// Carregar os dados dos correios e descricao do XML Local. /// </summary> /// <param name="listCodigosRastreio"></param> /// <param name="resultado">T-> Serão retornados todos os Eventos, U -> Sera retornado apenas o ultimo Evento.</param> /// <returns></returns> public async static Task <SROXml> GetXmlCorreios(List <string> listCodigosRastreio, Enumeration.Resultado resultado) { try { Correio correio = new Correio(); SROXml sroXml = correio.BuscaObjetosOnline(listCodigosRastreio, resultado); if (sroXml != null && sroXml.Objetos != null) { SROXml sroXmlDescricaoObjeto = await Core.GetSROXml(); if (sroXmlDescricaoObjeto != null) { //Alterar o forech para linqs. foreach (Objeto itemOnLine in sroXml.Objetos) { foreach (Objeto itemDisco in sroXmlDescricaoObjeto.Objetos) { if (itemOnLine.Eventos != null && itemOnLine.Eventos.Count > 0) { foreach (Evento eventoCoord in itemOnLine.Eventos) { if (eventoCoord.GeoX == 0 || eventoCoord.GeoY == 0) { eventoCoord.BuscaGeoLocalizacaoEvento(); } } } if (itemOnLine.Numero == itemDisco.Numero) { itemOnLine.Descricao = itemDisco.Descricao; itemOnLine.IdEndereco = itemDisco.IdEndereco; break; } } } } } return(sroXml); } catch (Exception ex) { Core.GravarLog("Core", "GerXmlCorreios", ex); return(new SROXml()); } }