public async Task <string> GetInformacionPaisAsync(string NombrePais) { try { #region Declarar Variables e inicializacion string ISOPais = string.Empty; string ISOMoneda = string.Empty; string NombreMoneda = string.Empty; ServicioVictor.FullCountryInfoResponse oFullCountryInfoResponse; ServicioVictor.tLanguage[] oLstIdiomas; ServicioVictor.CountryCurrencyResponse oCountryCurrencyResponse; InfoPaisClass oInfoPaisClass = new InfoPaisClass(); EndpointConfiguration oEC = new EndpointConfiguration(); ServicioVictor.CountryInfoServiceSoapTypeClient services; oEC = EndpointConfiguration.CountryInfoServiceSoap; services = new ServicioVictor.CountryInfoServiceSoapTypeClient(oEC); //Variable Encargada de guardar el Resultado del consumo del servicios ServicioVictor.CountryISOCodeResponse oCountryISOCodeResponse; #endregion //Se consume Operation CountryISOCodeAsync para obtener el codio ISO del pais oCountryISOCodeResponse = await services.CountryISOCodeAsync(NombrePais); //Se almacena el codigo ISO del pais ISOPais = oCountryISOCodeResponse.Body.CountryISOCodeResult != "No country found by that name" ? oCountryISOCodeResponse.Body.CountryISOCodeResult : string.Empty; //Se valida si se encontro el pais if (ISOPais != string.Empty) { //Se consume Operation FullCountryInfoAsync para obtener toda la informacion del Pais oFullCountryInfoResponse = await services.FullCountryInfoAsync(ISOPais); //Se valida que no hubiesen problemas consultando la informacion if (oFullCountryInfoResponse != null) { //Se llena la lista de Idiomas del Operation FullCountryInfoAsync oLstIdiomas = oFullCountryInfoResponse.Body.FullCountryInfoResult.Languages; //Se llena el ISO de la moneda del Operation FullCountryInfoAsync ISOMoneda = oFullCountryInfoResponse.Body.FullCountryInfoResult.sCurrencyISOCode; //Se consume el Operation CountryCurrencyAsync para obtener el nombre de la moneda oCountryCurrencyResponse = await services.CountryCurrencyAsync(ISOPais); //Se llena el nombre de la moneta NombreMoneda = oCountryCurrencyResponse.Body.CountryCurrencyResult.sName; ///Se llena la informacion del pais y se devuelve en JSON oInfoPaisClass.NombrePais = pais; oInfoPaisClass.ISOPais = ISOPais; oInfoPaisClass.ISOMoneda = ISOMoneda; oInfoPaisClass.ListaIdiomas = oLstIdiomas; oInfoPaisClass.NombreMoneda = NombreMoneda; return(JsonConvert.SerializeObject(oInfoPaisClass)); } else { string respuesta = @"Respuesta: Ocurrió un error consultando la información del país. Contacte al administrador del sistema."; return(respuesta); } } else { string respuesta = @"Respuesta: No se encontró información del País. Intente con el nombre en inglés o con la primera letra en mayúsculas."; return(respuesta); } } catch (Exception Ex) { //_utilities.SaveLog(this, Ex); string respuesta = @"Respuesta: Ocurrió un error inesperado. Contacte al administrador del sistema."; return(respuesta); } }
public async Task <string> GetCaracteristicasPaisAsync(string NombrePais) { try { //Definicion de variables segun lo solicitado //Codigo ISO, para obtener los datos en general del pais string ISOPais = string.Empty; //ISO Moneda para con este buscar la moneda del pais string ISOMoneda = string.Empty; //Para asignar el nombre una vez obtenido string NombreMoneda = string.Empty; //Creacion de variables desde la referencia del servicio //Toda la informacion de los servicios ServicioComedal.FullCountryInfoResponse oFullCountryInfoResponse; //Array de lista de idiomas ServicioComedal.tLanguage[] oLstIdiomas; //Informacion sobre las monedas ServicioComedal.CountryCurrencyResponse oCountryCurrencyResponse; //Instancia de DTO que contiene la estructura de todo lo que se necesita entregar InfoPaisClass oInfoPaisClass = new InfoPaisClass(); EndpointConfiguration oEC = new EndpointConfiguration(); ServicioComedal.CountryInfoServiceSoapTypeClient services; // se define el enpoint oEC = EndpointConfiguration.CountryInfoServiceSoap; services = new ServicioComedal.CountryInfoServiceSoapTypeClient(oEC); //Variable Encargada de guardar el Resultado del consumo del servicios ServicioComedal.CountryISOCodeResponse oCountryISOCodeResponse; //Se consume Operation CountryISOCodeAsync para obtener el codio ISO del pais oCountryISOCodeResponse = await services.CountryISOCodeAsync(NombrePais); //Se almacena el codigo ISO del pais ISOPais = oCountryISOCodeResponse.Body.CountryISOCodeResult != "No country found by that name" ? oCountryISOCodeResponse.Body.CountryISOCodeResult : string.Empty; //Se valida si se encontro el pais if (ISOPais != string.Empty) { //Se consume Operation FullCountryInfoAsync para obtener toda la informacion del Pais oFullCountryInfoResponse = await services.FullCountryInfoAsync(ISOPais); //Se valida que no hubiesen problemas consultando la informacion if (oFullCountryInfoResponse != null) { //Se llena la lista de Idiomas del Operation FullCountryInfoAsync oLstIdiomas = oFullCountryInfoResponse.Body.FullCountryInfoResult.Languages; //Se llena el ISO de la moneda del Operation FullCountryInfoAsync ISOMoneda = oFullCountryInfoResponse.Body.FullCountryInfoResult.sCurrencyISOCode; //Se consume el Operation CountryCurrencyAsync para obtener el nombre de la moneda oCountryCurrencyResponse = await services.CountryCurrencyAsync(ISOPais); //Se llena el nombre de la moneta NombreMoneda = oCountryCurrencyResponse.Body.CountryCurrencyResult.sName; ///Se llena la informacion del pais y se devuelve en JSON oInfoPaisClass.Estado = true; oInfoPaisClass.Observacion = "OK"; oInfoPaisClass.NombrePais = NombrePais; oInfoPaisClass.ISOPais = ISOPais; oInfoPaisClass.ISOMoneda = ISOMoneda; oInfoPaisClass.ListaIdiomas = oLstIdiomas; oInfoPaisClass.NombreMoneda = NombreMoneda; return(JsonConvert.SerializeObject(oInfoPaisClass)); } else { oInfoPaisClass.Estado = false; oInfoPaisClass.Observacion = "No se encontraron Paises"; string respuesta = @"Respuesta: Ocurrió un error consultando la información del país. Contacte al administrador del sistema."; return(respuesta); } } else { oInfoPaisClass.Estado = false; oInfoPaisClass.Observacion = "No se encontraron Paises"; string respuesta = @"Respuesta: No se encontró información del País. Intente con el nombre en inglés o con la primera letra en mayúsculas."; return(respuesta); } } catch (Exception Ex) { string respuesta = @"Respuesta: Ocurrió un error inesperado. Contacte al administrador del sistema."; return(respuesta); } }