Esempio n. 1
0
        private async void btnConectar_Click(object sender, EventArgs e)
        {
            try
            {
                btnConectar.Enabled = false;

                string mensaje = string.Empty;

                if (!CamposValidos())
                {
                    btnConectar.Enabled = true;
                    return;
                }

                bool conexionExitosa = conn.Connect(ref mensaje, Fun.SERVER_IP, Fun.SERVER_PUERTO);

                if (!conexionExitosa)
                {
                    while (!conexionExitosa && Fun.MsgWarningYesNo(this, "No se ha podido establecer una conexión, ¿reintentarlo?") == DialogResult.Yes)
                    {
                        conexionExitosa = conn.Connect(ref mensaje, Fun.SERVER_IP, Fun.SERVER_PUERTO);
                    }

                    btnConectar.Enabled = true;
                    return;
                }

                Usuario usuario = new Usuario()
                {
                    Id       = 0,
                    Nick     = string.Empty,
                    Correo   = txtCorreo.Text,
                    Password = txtContrasena.Text
                };

                Response res = await conn.SendWait("login_validuser", usuario);

                if (!Fun.IsValid(this, res))
                {
                    btnConectar.Enabled = true;
                    return;
                }

                conn.Usuario = JsonConvert.DeserializeObject <Usuario>(Convert.ToString(res.Value));
                FrmMasengger frmMasengger = new FrmMasengger(this);
                frmMasengger.Show();
                Hide();
                btnConectar.Enabled = true;
            }
            catch (Exception ex)
            {
                Fun.MsgErrorException(this, ex);
                btnConectar.Enabled = true;
            }
        }
Esempio n. 2
0
        private async void btnRegistrarse_Click(object sender, EventArgs e)
        {
            try
            {
                btnRegistrarse.Enabled = false;

                if (!CamposValidos())
                {
                    btnRegistrarse.Enabled = true;
                    return;
                }

                string mensaje = string.Empty;

                if (!CamposValidos())
                {
                    btnRegistrarse.Enabled = true;
                    return;
                }

                bool conexionExitosa = conn.Connect(ref mensaje, Fun.SERVER_IP, Fun.SERVER_PUERTO);

                if (!conexionExitosa)
                {
                    while (!conexionExitosa && Fun.MsgWarningYesNo(this, "No se ha podido establecer una conexión, ¿reintentarlo?") == DialogResult.Yes)
                    {
                        conexionExitosa = conn.Connect(ref mensaje, Fun.SERVER_IP, Fun.SERVER_PUERTO);
                    }

                    btnRegistrarse.Enabled = true;
                    return;
                }

                Usuario usuario = new Usuario()
                {
                    Id       = 0,
                    Nick     = txtUsuario.Text,
                    Correo   = txtCorreo.Text,
                    Password = txtContrasena.Text
                };

                Response res = await conn.SendWait("register_create", usuario);

                if (!Fun.IsValid(this, res))
                {
                    btnRegistrarse.Enabled = true;
                    return;
                }

                Fun.SendMail(txtCorreo.Text, $"Masengger - Bienvenid@ {usuario.Nick} ♥", "Te damos la bienvenida a Masengger! si recibiste este correo tu cuenta ha sido confirmada.");

                MessageBox.Show(this, $"Cuenta registrada con exito", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);

                Close();
            }
            catch (Exception ex)
            {
                Fun.MsgError(this, ex.Message);
                btnRegistrarse.Enabled = true;
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Se inicia la tarea que constantemente recibe las respuestas de las peticiones del servidor que envian
        /// de por la funcion StartSendRequets()
        /// </summary>
        public void StartListenResponses()
        {
            if (canceltknSrcListenResponses == null || canceltknSrcListenResponses.IsCancellationRequested)
            {
                canceltknSrcListenResponses = new CancellationTokenSource();
            }

            tkListenResponses = Task.Run(async() =>
            {
                while (!canceltknSrcListenResponses.IsCancellationRequested)
                {
                    try
                    {
                        if (conn.TcpClient.Connected)
                        {
                            Response res = await conn.Wait();

                            if (!Fun.IsValid(this, res))
                            {
                                continue;
                            }

                            switch (res.Key)
                            {
                            case "user_list":
                                {
                                    FillUsers(res);
                                    break;
                                }

                            case "user_connected_list":
                                {
                                    SetUsersConnected(res);
                                    break;
                                }

                            case "mensaje_nuevo":
                                {
                                    break;
                                }

                            case "mensaje_archivo_nuevo":
                                {
                                    break;
                                }

                            case "file_get":
                                {
                                    GetFile(res);
                                    break;
                                }

                            case "mensajes_lista":
                                {
                                    ucChat.FillMessages(res);
                                    break;
                                }

                            case "video_get":
                                {
                                    SetFrame(res);
                                    break;
                                }

                            default:
                                break;
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                    }
                }

                return;
            }, canceltknSrcListenResponses.Token);
        }