Пример #1
0
        /// <summary>
        /// Modifica una Casilla de correo. El campo Contraseña es opcional y puede dejarse vacio para no modificarla
        /// </summary>
        /// <param name="pCasilla"></param>
        public bool ModificarCasilla(CasillaCorreo pCasilla)
        {
            DAOFactory factory = DAOFactory.Instancia();

            try
            {
                factory.IniciarConexion();
                ICasillaDAO _casillaDAO = factory.casillaCorreoDAO;
                _casillaDAO.Modificar(pCasilla, this.IDCuentaLogeado);
                return(true);
            }
            catch (DAOException)
            {
                factory.RollBack();
                return(false);
            }
            catch (Exception e)
            {
                factory.RollBack();
                MessageBox.Show(e.Message);
                return(false);
            }
            finally
            {
                factory.FinalizarConexion();
            }
        }
Пример #2
0
        /// <summary>
        /// Inserta una nueva Casilla en la base de datos, para el usuario actual
        /// </summary>
        /// <param name="pCasilla"></param>
        /// <param name="pServicio"></param>
        public bool AgregarCasilla(CasillaCorreo pCasilla, int pServicio)
        {
            DAOFactory factory = DAOFactory.Instancia();

            try
            {
                factory.IniciarConexion();
                ICasillaDAO _casillaDAO = factory.casillaCorreoDAO;
                _casillaDAO.Agregar(pCasilla, pServicio, _idCuentaLogeado);
                return(true);
            }
            catch (DAOException)
            {
                factory.RollBack();
                return(false);
            }
            catch (Npgsql.PostgresException)
            {
                factory.RollBack();
                MessageBox.Show("La dirección de Correo Electrónico tiene un formato incorrecto");
                return(false);
            }
            finally
            {
                factory.FinalizarConexion();
            }
        }
Пример #3
0
        /// <summary>
        /// Modifica la dirección y la contraseña de la Casilla de Correo
        /// </summary>
        /// <param name="pCasilla">Casilla de correo que se desea modificar</param>
        /// <param name="pIDUsuario">Id de Usuario</param>
        public void Modificar(CasillaCorreo pCasilla, int pIDUsuario)
        {
            string cmd = String.Empty;

            if (pCasilla.Contraseña == String.Empty)
            {
                cmd = "UPDATE \"CasillaEmail\" SET \"direccionEmail\"  = @direccion WHERE nombre = '" + pCasilla.Nombre + "' and usuario = '" + pIDUsuario + "'";
            }
            else
            {
                cmd = "UPDATE \"CasillaEmail\" SET \"direccionEmail\"  = @direccion, \"contrasenaEmail\" = @contrasena WHERE nombre = '" + pCasilla.Nombre + "' and usuario = '" + pIDUsuario + "'";
            }

            NpgsqlCommand comando = this._conexion.CreateCommand();

            comando.CommandText = cmd;

            comando.Parameters.AddWithValue("@direccion", pCasilla.Direccion);
            comando.Parameters.AddWithValue("@contrasena", pCasilla.Contraseña);

            // ExecuteNonQuery = -1 si no se modificaron filas
            if (comando.ExecuteNonQuery() == -1)
            {
                throw new DAOException("No se pudieron actualizar los valores");
            }
        }
Пример #4
0
        /// <summary>
        /// Agrega una Nueva Casilla de Correo
        /// </summary>
        /// <param name="pCasilla">Casilla de Correo</param>
        /// <param name="pServicio">Servicio de Correo (GMAIL, YAHOO)</param>
        /// <param name="pUsuario">Número de Usuario</param>
        public void Agregar(CasillaCorreo pCasilla, int pServicio, int pUsuario)
        {
            using (NpgsqlTransaction transaccion = this._conexion.BeginTransaction())
            {
                NpgsqlCommand comando = this._conexion.CreateCommand();

                comando.Transaction = transaccion;
                comando.CommandText = "INSERT INTO \"CasillaEmail\"(nombre,\"contrasenaEmail\",servicio,usuario,\"direccionEmail\") VALUES(@nombre,@contrasenaEmail,@servicio,@usuario,@direccionEmail)";
                comando.Parameters.AddWithValue("@nombre", pCasilla.Nombre);
                comando.Parameters.AddWithValue("@contrasenaEmail", pCasilla.Contraseña);
                comando.Parameters.AddWithValue("@servicio", pServicio);
                comando.Parameters.AddWithValue("@usuario", pUsuario);
                comando.Parameters.AddWithValue("@direccionEmail", pCasilla.Direccion);

                // ExecuteNonQuery = 1 si se modificó 1 fila en la tabla.
                if (comando.ExecuteNonQuery() != 1)
                {
                    //Deshacer la operación
                    transaccion.Rollback();
                    throw new DAOException("No se pudieron insertar los valores");
                }

                //Confirmar la operación
                transaccion.Commit();
            }
        }
Пример #5
0
        /// <summary>
        /// Guardar una casilla de correo
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Button_guardar_Click(object sender, EventArgs e)
        {
            if (this.Text == "Agregar Casilla")
            {
                string        _direccion = String.Concat(this.textBox_direccion.Text, this.label1.Text);
                CasillaCorreo _casilla   = new CasillaCorreo(this.textBox_nombre.Text, _direccion, this.textBox_contraseña.Text);
                int           idServicio = _controlador.ObtenerIdServicio(comboBox_servicio.Text);

                // éxito
                if (_controlador.AgregarCasilla(_casilla, idServicio))
                {
                    MessageBox.Show("Casilla agregada con éxito", "FlyMail");
                    this.Close();
                }
            }

            if (this.Text == "Modificar Casilla")
            {
                CasillaCorreo _casilla = new CasillaCorreo(this.comboBox1_nombre.Text, string.Concat(this.textBox_direccion.Text, label1.Text), this.textBox_contraseña.Text);
                if (this.textBox_contraseña.Text == "Si desea realizar cambios")
                {
                    _casilla.Contraseña = String.Empty;
                }

                // éxito
                if (_controlador.ModificarCasilla(_casilla))
                {
                    MessageBox.Show("Casilla modificada con éxito", "FlyMail");
                    this.Close();
                }
            }
        }
Пример #6
0
        /// <summary>
        /// Almacena la contraseña de una determinada casilla
        /// </summary>
        /// <param name="user">Nombre de usuario de casilla de correo</param>
        /// <param name="pass">Cotraseña de casilla de correo</param>
        private void AlmacenarPasswordCasilla(string user, string pass)
        {
            string        dir      = _controlador.ObtenerDireccionCasilla(user);
            CasillaCorreo _casilla = new CasillaCorreo(user, dir, pass);

            _controlador.ModificarCasilla(_casilla);
        }