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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
            }
        }