Beispiel #1
0
        public async void EnviarNotificacion(Models.Usuarios_Disp[] dispositivos, decimal viajeId, string titulo, string mensaje, Accion accion)
        {
            // Inicializo los objetos para hacer el Request
            var client  = new HttpClient();
            var request = new HttpRequestMessage();

            request.Method = HttpMethod.Post;

            // Arma la URL para enviar la notificación
            request.RequestUri = new Uri("https://fcm.googleapis.com/fcm/send");
            request.Headers.TryAddWithoutValidation("Authorization", "key=" + Startup.Firebase.CloudMessagingKey);

            // Arma la lista de tokens
            var tokens = new List <string>();

            foreach (var d in dispositivos)
            {
                tokens.Add(d.DispositivoId);
            }

            // Crea la instancia de la notificación
            Notificacion notificacion = new Notificacion(tokens.ToArray(), viajeId, titulo, mensaje, accion);

            // Adjunta el body
            var json = JsonConvert.SerializeObject(notificacion);

            Consola.Debug("json", json);

            request.Content = new StringContent(json);

            // Adjunta los headers
            request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");

            // Envía el request al Firebase
            var response = await client.SendAsync(request);

            // Crea los datos del registro a insertar
            var r = new Models.Notificaciones
            {
                NotFchHr     = DateTime.Now,
                ViajeId      = viajeId,
                NotMensaje   = titulo + " - " + mensaje + " - Data: " + json,
                NotRespuesta = response.Content.ReadAsStringAsync().Result,
                NotEst       = response.StatusCode.ToString()
            };

            // Uso una nueva conexión porque este método se llama asíncronamente
            using (var db2 = new VolquexDB())
                // Creo un registro con cada token
                foreach (var disp in dispositivos)
                {
                    r.UsuarioId     = disp.UsuarioId;
                    r.DispositivoId = disp.DispositivoId;

                    // Hago el insert
                    db2.InsertWithDecimalIdentity(r);
                }

            client.Dispose();
        }
Beispiel #2
0
        public static void Conectar()
        {
            if (Cuenta.Nombre == string.Empty || Cuenta.Contraseña == string.Empty || InformacionCuenta.Conectada)
            {
                return;
            }

            while (!Interop.IsProcessOpen("RiotClientUx"))
            {
                if (!ClienteEjecutado)
                {
                    Process.Start(@Program.Configuracion.CarpetaLeague + "LeagueClient.exe");
                    ClienteEjecutado = true;
                }

                BotHelper.Wait(5000);
            }

            Interop.BringWindowToFront("RiotClientUx");

            Consola.Debug($"\t[DEBUG] Atención: si no puedes conectar, debes editar 'client.json' y campiar los valores CampoCuenta y CampoContraseña por uno de los valores dados a continuación.", ConsoleColor.Red);
            Consola.Debug($"\t[DEBUG] Si no encuentras estos valores, debes editar en 'client.json' el valor, colorCampos por el color correspondiente (usar Color Viewer) debes convertir el color hex a color rgb (online).", ConsoleColor.Red);
            Consola.Debug($"\t[DEBUG] Los valores son X (izquierda) e Y (derecha), si el de la derecha es mayor entonces el campo es de contraseña, de lo contrario es el campo de la cuenta.", ConsoleColor.Red);
            Consola.Debug($"\t[DEBUG] --------------------------------------------------------------------------------- ", ConsoleColor.Red);

            try
            {
                while (!InformacionCuenta.listaParaConectar)
                {
                    foreach (Point CampoConexion in ImageHelper.getAllExistingColorPositions(Color.FromArgb(Convert.ToInt32(Program.Configuracion.ColorCampos.Split(',')[0]), Convert.ToInt32(Program.Configuracion.ColorCampos.Split(',')[1]), Convert.ToInt32(Program.Configuracion.ColorCampos.Split(',')[2]))))
                    {
                        if (CampoConexion.X == Convert.ToInt32(Program.Configuracion.CampoCuenta.Split(',')[0]) && CampoConexion.Y == Convert.ToInt32(Program.Configuracion.CampoCuenta.Split(',')[1]))
                        {
                            Consola.Escribir($"\tIntroduciendo nombre de la cuenta", ConsoleColor.Green);
                            InputHelper.LeftClick(Convert.ToInt32(Program.Configuracion.CampoCuenta.Split(',')[0]) + 80, Convert.ToInt32(Program.Configuracion.CampoCuenta.Split(',')[1]));
                            InputHelper.InputWords(Cuenta.Nombre, 200, 200);

                            BotHelper.Wait(1000);

                            InformacionCuenta.nombreCuentaEscrito = true;
                        }
                        if (CampoConexion.X == Convert.ToInt32(Program.Configuracion.CampoContraseña.Split(',')[0]) && CampoConexion.Y == Convert.ToInt32(Program.Configuracion.CampoContraseña.Split(',')[1]))
                        {
                            Consola.Escribir($"\tIntroduciendo contraseña de la cuenta", ConsoleColor.Green);
                            InputHelper.LeftClick(Convert.ToInt32(Program.Configuracion.CampoContraseña.Split(',')[0]) + 80, Convert.ToInt32(Program.Configuracion.CampoContraseña.Split(',')[1]));
                            InputHelper.InputWords(Cuenta.Contraseña, 200, 200);

                            BotHelper.Wait(1000);

                            InformacionCuenta.contraseñaCuentaEscrita = true;
                        }


                        Consola.Debug($"\t[DEBUG] Campos credenciales encontrados en: {CampoConexion.X},{CampoConexion.Y}", ConsoleColor.Red);

                        if (InformacionCuenta.nombreCuentaEscrito && InformacionCuenta.contraseñaCuentaEscrita)
                        {
                            InformacionCuenta.listaParaConectar = true;

                            break;
                        }
                    }
                }

                Consola.Debug($"\t[DEBUG] --------------------------------------------------------------------------------- ", ConsoleColor.Red);

                InputHelper.PressKey("Enter");

                InformacionCuenta.Conectada = true;

                Consola.Escribir($"\tCuenta conectada; esperando confirmación", ConsoleColor.Green);
            }
            catch (Exception e)
            {
                Consola.Escribir($"\tError: {e.Message}", ConsoleColor.Red);
            }
        }