/// <summary> /// Metodo que sirve para enviar solicitud post para validar email /// </summary> /// <param name="urlBase"> Objeto para pasarle la url del servicio</param> /// <param name="solicitud">Objeto para enviar el email a validar</param> /// <returns></returns> public async Task <ValidCorreoResponse> ValidarCorreo( string urlBase, SolicitudValidUsuario solicitud) { try { var Client = new HttpClient(); string url = urlBase; var data = JsonConvert.SerializeObject(solicitud); var content = new StringContent(data, Encoding.UTF8, "application/json"); var response = await Client.PostAsync(url, content); if (response.IsSuccessStatusCode) { var json = await response.Content.ReadAsStringAsync(); if (json.Substring(0, 5) != "Error") { var resultado = (ValidCorreoResponse)JsonConvert.DeserializeObject(json, typeof(ValidCorreoResponse)); return(resultado); } } return(null); } catch { return(null); } }
private void CallService() { bool success = false; try { Device.BeginInvokeOnMainThread(() => UserDialogs.Instance.ShowLoading("Enviando Correo...", MaskType.Black)); Task.Run(async() => { soli = new SolicitudValidUsuario(); soli.correo = this.Correo; var res = await this.apiService.ValidarCorreo( "http://www.creativasoftlineapps.com/ScriptAppTuxmandados/frmValidarCorreo.aspx", soli); if (res != null) { reco.Valido = res.Valido; reco.Token = res.Token; success = true; } }).ContinueWith(res => Device.BeginInvokeOnMainThread(async() => { if (success == false) { await App.Current.MainPage.DisplayAlert("Ocurrió un error", "El correo ingresado no es valido", "Aceptar"); UserDialogs.Instance.HideLoading(); } else { string mens = "Buen día, lamentamos que haya perdido su contraseña para obtener de nuevo su acceso a Tuxmandados haga" + " lo siguiente: Copie el token: " + reco.Token + " y a continuación ingrese a la siguiente pagina http://www.creativasoftlineapps.com/ScriptAppTuxmandados/frmRecuperarContraseña.aspx para seguir con el proceso " + " de recuperacion de su cuenta."; await EmailHelper.EnviarCorreo(mens, Correo, false, "Recuperación de contraseña"); UserDialogs.Instance.HideLoading(); await App.Current.MainPage.DisplayAlert("Éxito", "Correo enviado", "ok"); await App.Current.MainPage.Navigation.PopAsync(); } })); } catch (Exception ex) { App.Current.MainPage.DisplayAlert("Ocurrió un error", ex.ToString(), "Aceptar"); } }