public ResultadoInvitaciones ClientesInvitacionesProcesar(List <Cliente> Clientes) { var res = new ResultadoInvitaciones(); var cr = ""; try { cr = dsCore.Comun.Ayudas.SerializarACadenaXML(Clientes); } catch { //Si está vacía la lista no nos importa } res.Enviadas = new List <String>(); res.UsuariosError = new List <UsuarioError>(); var pp = new PropiedadesSitio(); var UsuariosInvitados = new List <UsuarioDatosEmail>(); var cc = _configuration.GetConnectionString("DefaultConnection"); using (SqlConnection conn = new SqlConnection(cc)) { SqlParameter[] param = new SqlParameter[] { new SqlParameter("@clientes", cr), }; _cmd = SQLHelper.PrepareCommand(conn, null, CommandType.StoredProcedure, @"Web.ClientesInvitacionesProcesar", param); _reader = _cmd.ExecuteReader(CommandBehavior.CloseConnection); while (_reader.Read()) { UsuarioDatosEmail us = RellenarUsuarioEmail(); UsuariosInvitados.Add(us); } _reader.NextResult(); while (_reader.Read()) { var us = new UsuarioError { nombre = AsignaCadena("Nombre"), motivo = AsignaCadena("Motivo"), }; res.UsuariosError.Add(us); } _reader.NextResult(); pp = RellenarPropiedadesSitio(); } foreach (UsuarioDatosEmail us in UsuariosInvitados) { var email = RellenarEmail(pp.CorreoInvitacion, us, pp); res.Enviadas.Add(EnviarCorreo(us.EmaildsWin, "Invitación", email, pp)); } return(res); }
public ResultadoInvitaciones ClientesInvitacionesProcesar(List <Cliente> Clientes) { var res = new ResultadoInvitaciones(); res.Enviadas = new List <String>(); res.UsuariosError = new List <UsuarioError>(); var pp = new PropiedadesSitio(); var UsuariosInvitados = new List <UsuarioDatosEmail>(); var cc = _configuration.GetConnectionString("DefaultConnection"); using (SqlConnection conn = new SqlConnection(cc)) { _cmd = SQLHelper.PrepareCommand(conn, null, CommandType.StoredProcedure, @"Web.ClientesInvitacionesProcesar", null); _reader = _cmd.ExecuteReader(CommandBehavior.CloseConnection); while (_reader.Read()) { UsuarioDatosEmail us = RellenarUsuarioEmail(); UsuariosInvitados.Add(us); } _reader.NextResult(); while (_reader.Read()) { var us = new UsuarioError { nombre = AsignaCadena("Nombre"), motivo = AsignaCadena("Motivo"), }; res.UsuariosError.Add(us); } _reader.NextResult(); pp = RellenarPropiedadesSitio(); } foreach (UsuarioDatosEmail us in UsuariosInvitados) { var email = RellenarEmail(pp.CorreoInvitacion, us, pp); res.Enviadas.Add(EnviarCorreo(us.EmaildsWin, "Invitación", email, pp)); } return(res); }
private async Task Member(IDialogContext context, IAwaitable <string> result) { try { Contrasena = await result; if (OpcionLoginSignUp == "Iniciar Sesión") { JavaScriptSerializer js = new JavaScriptSerializer(); string tramaJson = ""; LogIn logIn = new LogIn { access_token = "LmTXw9oHsVZhhjgllFQphiZfXXJJGVwF" }; string postdata = js.Serialize(logIn); byte[] dataBytes = Encoding.UTF8.GetBytes(postdata); HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://loginrestapi.herokuapp.com/auth"); request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate; request.ContentLength = dataBytes.Length; request.ContentType = "application/json"; request.Method = "POST"; string authInfo = Correo + ":" + Contrasena; authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo)); request.Headers.Add("Authorization", "Basic " + authInfo); using (Stream requestBody = request.GetRequestStream()) { requestBody.Write(dataBytes, 0, dataBytes.Length); } using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) using (Stream stream = response.GetResponseStream()) using (StreamReader reader = new StreamReader(stream)) { tramaJson = reader.ReadToEnd(); } UsuarioObtenido usuarioObtenido = js.Deserialize <UsuarioObtenido>(tramaJson); token = usuarioObtenido.token; string[] opciones = { "Consultar Pregunta", "Crear Pregunta" }; var options = opciones; var descriptions = opciones; PromptDialog.Choice <string>(context, ConsultaCreaPregunta, options, $"Hola {usuarioObtenido.user.name}, ahora escoge entre consultar o crear pregunta:", descriptions: descriptions); } else if (OpcionLoginSignUp == "Registrarse") { JavaScriptSerializer js = new JavaScriptSerializer(); string tramaJson = ""; SignUp signUp = new SignUp { access_token = "LmTXw9oHsVZhhjgllFQphiZfXXJJGVwF", email = Correo, password = Contrasena, name = Nombres, picture = "", role = "" }; string postdata = js.Serialize(signUp); byte[] dataBytes = Encoding.UTF8.GetBytes(postdata); HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://loginrestapi.herokuapp.com/users"); request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate; request.ContentLength = dataBytes.Length; request.ContentType = "application/json"; request.Method = "POST"; using (Stream requestBody = request.GetRequestStream()) { requestBody.Write(dataBytes, 0, dataBytes.Length); } using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) using (Stream stream = response.GetResponseStream()) using (StreamReader reader = new StreamReader(stream)) { tramaJson = reader.ReadToEnd(); } UsuarioObtenido usuarioObtenido = js.Deserialize <UsuarioObtenido>(tramaJson); token = usuarioObtenido.token; string[] opciones = { "Consultar Pregunta", "Crear Pregunta" }; var options = opciones; var descriptions = opciones; PromptDialog.Choice <string>(context, ConsultaCreaPregunta, options, $"Hola {usuarioObtenido.user.name}, ahora escoge entre consultar o crear pregunta:", descriptions: descriptions); } } catch (WebException wex) { if (wex.Response != null) { if (((HttpWebResponse)wex.Response).StatusCode.ToString() == "Unauthorized") { await context.PostAsync($"El usuario o contraseña ingresada no es correcta."); context.Wait(MessageReceived); } else { using (var errorResponse = (HttpWebResponse)wex.Response) { using (var reader = new StreamReader(errorResponse.GetResponseStream())) { string error = reader.ReadToEnd(); JavaScriptSerializer js = new JavaScriptSerializer(); UsuarioError usuarioError = js.Deserialize <UsuarioError>(error); await context.PostAsync($"Error en: {usuarioError.message}"); context.Wait(MessageReceived); } } } } } catch (Exception ex) { await context.PostAsync($"{ex.Message.ToString()}"); context.Wait(MessageReceived); } }