コード例 #1
0
ファイル: CorreoSQL.cs プロジェクト: ivanebel/ClienteCorreo
        public int clear(CuentaDTO cuenta)
        {
            int res = 0;

            try {
                connection.Open();

                MySqlCommand myCommand = new MySqlCommand();
                myCommand.Connection = connection;

                myCommand.CommandText = "DELETE FROM correo WHERE cuenta_idcuenta=?idcuenta";
                myCommand.Parameters.Add("?idcuenta", MySqlDbType.Int16).Value = cuenta.IdCuenta;
                myCommand.ExecuteNonQuery();

                myCommand.CommandText = "DELETE FROM origendestino WHERE 1=1";
                myCommand.ExecuteNonQuery();

                myCommand.CommandText = "DELETE FROM adjunto WHERE 1=1";
                myCommand.ExecuteNonQuery();

                connection.Close();

                res = 1;
                return res;
            }
            catch (MySqlException ex) {
                return -1;
            }
        }
コード例 #2
0
ファイル: CuentaSQL.cs プロジェクト: ivanebel/ClienteCorreo
        /// <summary>
        /// Crea una nueva Cuenta en la Base de Datos
        /// </summary>
        /// <param name="cuenta"></param>
        /// <returns></returns>
        public int create(CuentaDTO cuenta)
        {
            int generatedKey;

            try
            {
                connection.Open();

                MySqlCommand myCommand = new MySqlCommand();
                myCommand.Connection = connection;

                myCommand.CommandText = "INSERT INTO cuenta (usuario,password,server_idserver) VALUES " +
                    "(?user, ?pwd, ?server)";

                myCommand.Parameters.Add("?user", MySqlDbType.VarChar).Value = cuenta.User;
                myCommand.Parameters.Add("?pwd", MySqlDbType.VarChar).Value = cuenta.Password;
                myCommand.Parameters.Add("?server", MySqlDbType.VarChar).Value = cuenta.Server;

                generatedKey = myCommand.ExecuteNonQuery();

                connection.Close();
            }
            catch (Exception)
            {

                throw;
            }

            return generatedKey;
        }
コード例 #3
0
ファイル: Correo.cs プロジェクト: ivanebel/ClienteCorreo
        public int CantidadCorreos(CuentaDTO cuenta)
        {
            factory.startConnection();
            int cantidad = factory.getCorreo().mailCount(cuenta);
            factory.closeConnection();

            return cantidad;
        }
コード例 #4
0
ファイル: AdminSmtp.cs プロジェクト: ivanebel/ClienteCorreo
        public void ConectarSmtp(ServerDTO server, CuentaDTO cuenta)
        {
            cliente = new SmtpClient();

            cliente.Host = server.SmtpServer;
            cliente.Port = server.SmtpPort;
            cliente.DeliveryMethod = SmtpDeliveryMethod.Network;
            cliente.EnableSsl = server.Ssl;
            cliente.Credentials = new NetworkCredential(cuenta.User, cuenta.Password);
        }
コード例 #5
0
ファイル: AdminPop.cs プロジェクト: ivanebel/ClienteCorreo
 public void ConectarPop(ServerDTO server, CuentaDTO cuenta)
 {
     cliente = new Pop3Client();
     try {
         cliente.Connect(server.PopServer, server.PopPort, server.Ssl);
         cliente.Authenticate(cuenta.User, cuenta.Password);
     }
     catch (OpenPop.Pop3.Exceptions.PopClientException ex) {
         Console.WriteLine(ex.Message);
     }
 }
コード例 #6
0
ファイル: frmCuentas.cs プロジェクト: ivanebel/ClienteCorreo
        private void btnAgregar_Click(object sender, EventArgs e)
        {
            CuentaDTO nuevacuenta = new CuentaDTO();
            nuevacuenta.User = txtUsuario.Text;
            nuevacuenta.Password = txtPassword.Text;

            int idserver = dictionaryServidores[comboServidor.SelectedItem.ToString()];
            nuevacuenta.Server = idserver;

            try {
                Controller.Cuenta.getInstance().AgregarCuenta(nuevacuenta);
                ActualizarDatos();
                LimpiarCampos();
            }
            catch (Exception ex) { }
        }
コード例 #7
0
ファイル: CuentaSQL.cs プロジェクト: ivanebel/ClienteCorreo
        public int count(CuentaDTO cuenta)
        {
            int cantidad = 0;

            try
            {
                connection.Open();

                MySqlCommand myCommand = new MySqlCommand();
                myCommand.Connection = connection;

                myCommand.CommandText = "SELECT COUNT(*) FROM correo WHERE cuenta_idcuenta = ?idcuenta";
                myCommand.Parameters.Add("?idcuenta", MySqlDbType.Int16).Value = cuenta.IdCuenta;

                cantidad = int.Parse(myCommand.ExecuteScalar().ToString());

                connection.Close();

                return cantidad;
            }
            catch (MySqlException ex) {
                return -1;
            }
        }
コード例 #8
0
ファイル: Correo.cs プロジェクト: ivanebel/ClienteCorreo
        /// <summary>
        /// Método para obtener la fecha del último mensaje descargado.
        /// </summary>
        /// <param name="cuenta">Cuenta destino</param>
        /// <returns></returns>
        public DateTime fechaUltimoMensaje(CuentaDTO cuenta)
        {
            factory.startConnection();
            DateTime fecha = factory.getCorreo().lastMail(cuenta);
            factory.closeConnection();

            return fecha;
        }
コード例 #9
0
ファイル: CorreoSQL.cs プロジェクト: ivanebel/ClienteCorreo
        /// <summary>
        /// 
        /// </summary>
        /// <param name="read"></param>
        /// <param name="sent"></param>
        /// <param name="cant"></param>
        /// <returns></returns>
        public List<CorreoDTO> list(bool read, bool sent, int cant, CuentaDTO cuenta = null)
        {
            CorreoDTO correo;
            List<CorreoDTO> correos = new List<CorreoDTO>();

            try {
                connection.Open();

                MySqlCommand myCommand = new MySqlCommand();
                myCommand.Connection = connection;
                MySqlDataAdapter myAdapter = new MySqlDataAdapter();
                DataTable myData = new DataTable();

                string query = "SELECT idcorreo,asunto,detalle,tipocorreo,fecha,leido,cuenta_idcuenta FROM correo WHERE 1=1";

                //Agrego texto a la query si así lo indica cada filtro
                if (cuenta != null)
                    query += " AND cuenta_idcuenta=?idcuenta";
                if (read) query += " AND leido=?leido";
                if (sent)
                    query += " AND tipocorreo='ENVIADO'";
                else
                    query += " AND tipocorreo='RECIBIDO'";
                query += " ORDER BY idcorreo DESC";
                if (cant != 0) query += " LIMIT ?cant";

                myCommand.CommandText = query;

                if(cuenta != null)  {myCommand.Parameters.Add("?idcuenta",MySqlDbType.Int16).Value = cuenta.IdCuenta;}
                myCommand.Parameters.Add("?leido", MySqlDbType.Int16).Value = read;
                myCommand.Parameters.Add("?cant", MySqlDbType.Int16).Value = cant;

                myAdapter.SelectCommand = myCommand;
                myAdapter.Fill(myData);

                connection.Close();

                if (myData.Rows.Count != 0) {
                    for (int i = 0; i <= myData.Rows.Count - 1; i++) {
                        correo = new CorreoDTO();

                        correo.IdCorreo = int.Parse(myData.Rows[i].ItemArray.GetValue(0).ToString());
                        correo.Asunto = myData.Rows[i].ItemArray.GetValue(1).ToString();
                        correo.Detalle = myData.Rows[i].ItemArray.GetValue(2).ToString();
                        correo.TipoCorreo = Tipo.ENVIADO;                                           //!!!!!!!!

                        String fechaStr = myData.Rows[i].ItemArray.GetValue(4).ToString();
                        fechaStr = fechaStr.Substring(0, 10);

                        correo.Fecha = DateTime.Parse(fechaStr);

                        correo.Read = bool.Parse(myData.Rows[i].ItemArray.GetValue(5).ToString());
                        correo.IdCuenta = int.Parse(myData.Rows[i].ItemArray.GetValue(6).ToString());

                        List<OrigenDestinoDTO> direcciones = new List<OrigenDestinoDTO>();

                        try {
                            DataTable myDataDir = new DataTable();

                            myCommand.CommandText = "SELECT idorigendestino,direccion,cc,cco,correo_idcorreo FROM origendestino " +
                                "WHERE correo_idcorreo=?idcorreo";

                            myCommand.Parameters.Clear();
                            myCommand.Parameters.Add("?idcorreo", MySqlDbType.Int16).Value = correo.IdCorreo;

                            myAdapter.SelectCommand = myCommand;
                            myAdapter.Fill(myDataDir);

                            if (myDataDir.Rows.Count != 0) {
                                for (int j = 0; j <= myDataDir.Rows.Count - 1; j++) {
                                    OrigenDestinoDTO direccion = new OrigenDestinoDTO();

                                    direccion.IdOrigenDestino = int.Parse(myDataDir.Rows[j].ItemArray.GetValue(0).ToString());
                                    direccion.Direccion = myDataDir.Rows[j].ItemArray.GetValue(1).ToString();
                                    direccion.Cc = bool.Parse(myDataDir.Rows[j].ItemArray.GetValue(2).ToString());
                                    direccion.Cco = bool.Parse(myDataDir.Rows[j].ItemArray.GetValue(3).ToString());
                                    direccion.IdCorreo = int.Parse(myDataDir.Rows[j].ItemArray.GetValue(4).ToString());

                                    direcciones.Add(direccion);
                                }
                            }

                        }
                        catch (MySqlException e) { }

                        correo.OrigenDestino = direcciones;

                        List<AttachmentDTO> adjuntos = new List<AttachmentDTO>();
                        try
                        {
                            myCommand.CommandText = "SELECT idadjunto,detalle,path,correo_idcorreo FROM adjunto WHERE correo_idcorreo=?idcorreoo";
                            myCommand.Parameters.Add("?idcorreoo", MySqlDbType.Int16).Value = correo.IdCorreo;
                            DataTable myDataAdj = new DataTable();
                            myAdapter.SelectCommand = myCommand;
                            myAdapter.Fill(myDataAdj);

                            if (myDataAdj.Rows.Count != 0)
                            {
                                for (int j = 0; j <= myDataAdj.Rows.Count - 1; j++)
                                {
                                    AttachmentDTO adjunto = new AttachmentDTO();
                                    adjunto.IdAttachment = int.Parse(myDataAdj.Rows[j].ItemArray.GetValue(0).ToString());
                                    adjunto.Name = myDataAdj.Rows[j].ItemArray.GetValue(1).ToString();
                                    adjunto.Path = myDataAdj.Rows[j].ItemArray.GetValue(2).ToString();
                                    adjunto.IdCorreo = int.Parse(myDataAdj.Rows[j].ItemArray.GetValue(3).ToString());

                                    adjuntos.Add(adjunto);
                                }
                            }
                        }
                        catch (MySqlException e) { }

                        correo.Adjuntos = adjuntos;

                        correos.Add(correo);

                    }
                }
            }
            catch (MySqlException ex) { }

            return correos;
        }
コード例 #10
0
ファイル: Correo.cs プロジェクト: ivanebel/ClienteCorreo
        public int UltimoIdCorreo(CuentaDTO cuenta)
        {
            factory.startConnection();
            int id = factory.getCorreo().LastId(cuenta);
            factory.closeConnection();

            return id;
        }
コード例 #11
0
ファイル: Correo.cs プロジェクト: ivanebel/ClienteCorreo
        /// <summary>
        /// Método para obtener todos los correos de las cuentas en el sistema.
        /// </summary>
        /// <param name="leidos">Muestra mensajes leídos</param>
        /// <param name="enviados">Muestra mensajes enviados</param>
        /// <returns>Lista de CorreoDTO</returns>
        public List<CorreoDTO> listar(bool leidos, bool enviados, CuentaDTO cuenta=null)
        {
            factory.startConnection();

            int cant = factory.getConfiguracion().getConfiguracion().CantidadCorreos;

            List<CorreoDTO> lista = new List<CorreoDTO>();

            if (cuenta != null)
            {
                lista = factory.getCorreo().list(leidos, enviados, cant, cuenta);
            }
            else
            {
                lista = factory.getCorreo().list(leidos, enviados, cant);
            }

            factory.closeConnection();

            return lista;
        }
コード例 #12
0
ファイル: Correo.cs プロジェクト: ivanebel/ClienteCorreo
        public void limpiar(CuentaDTO cuenta)
        {
            factory.startConnection();

            factory.getCorreo().clear(cuenta);

            factory.closeConnection();
        }
コード例 #13
0
ファイル: Cuenta.cs プロジェクト: ivanebel/ClienteCorreo
 /// <summary>
 /// Método para modificar una cuenta
 /// </summary>
 /// <param name="cuenta">Cuenta que se va a modificar</param>
 public void ModificarCuenta(CuentaDTO cuenta)
 {
     factory.startConnection();
     factory.getCuenta().update(cuenta);
     factory.closeConnection();
 }
コード例 #14
0
ファイル: CuentaSQL.cs プロジェクト: ivanebel/ClienteCorreo
        /// <summary>
        /// Actualiza una Cuenta almacenada en la Base de Datos
        /// </summary>
        /// <param name="cuenta"></param>
        /// <returns></returns>
        public int update(CuentaDTO cuenta)
        {
            int generatedKey;

            try
            {
                connection.Open();

                MySqlCommand myCommand = new MySqlCommand();
                myCommand.Connection = connection;

                myCommand.CommandText = "UPDATE cuenta SET usuario = ?user,password = ?pwd,server_idserver = ?server) WHERE " +
                    "idcuenta = ?idcuenta";

                myCommand.Parameters.Add("?user", MySqlDbType.VarChar).Value = cuenta.User;
                myCommand.Parameters.Add("?pwd", MySqlDbType.VarChar).Value = cuenta.Password;
                myCommand.Parameters.Add("?server", MySqlDbType.VarChar).Value = cuenta.Server;

                myCommand.Parameters.Add("?idcuenta", MySqlDbType.VarChar).Value = cuenta.IdCuenta;

                generatedKey = myCommand.ExecuteNonQuery();

                connection.Close();
            }
            catch (Exception)
            {

                throw;
            }

            return generatedKey;
        }
コード例 #15
0
ファイル: Cuenta.cs プロジェクト: ivanebel/ClienteCorreo
 /// <summary>
 /// Método para agregar una cuenta
 /// </summary>
 /// <param name="cuenta">Cuenta que se va a agregar</param>
 public void AgregarCuenta(CuentaDTO cuenta)
 {
     factory.startConnection();
     factory.getCuenta().create(cuenta);
     factory.closeConnection();
 }
コード例 #16
0
ファイル: CorreoSQL.cs プロジェクト: ivanebel/ClienteCorreo
        /// <summary>
        /// 
        /// </summary>
        /// <param name="cuenta"></param>
        /// <returns></returns>
        public DateTime lastMail(CuentaDTO cuenta)
        {
            DateTime fecha = DateTime.Today;

            try
            {
                connection.Open();
                MySqlCommand myCommand = new MySqlCommand();
                myCommand.Connection = connection;
                myCommand.CommandText = "SELECT MAX(fecha) FROM correo WHERE cuenta_idcuenta=?cuentaid";
                myCommand.Parameters.Add("?cuentaid", MySqlDbType.Int16).Value = cuenta.IdCuenta;

                string fechastr = myCommand.ExecuteScalar().ToString();
                fecha = DateTime.Parse(fechastr);

                connection.Close();
                return fecha;

            }
            catch (MySqlException ex) {
                return fecha;
            }
        }
コード例 #17
0
ファイル: CuentaSQL.cs プロジェクト: ivanebel/ClienteCorreo
        /// <summary>
        /// Elimina una cuenta de la Base de Datos
        /// </summary>
        /// <param name="cuenta"></param>
        /// <returns></returns>
        public int delete(CuentaDTO cuenta)
        {
            int generatedKey=0;

            try
            {
                connection.Open();

                MySqlCommand myCommand = new MySqlCommand();
                myCommand.Connection = connection;

                myCommand.CommandText = "DELETE FROM cuenta WHERE cuenta_idcuenta = ?idcuenta";

                myCommand.Parameters.Add("?idcuenta", MySqlDbType.VarChar).Value = cuenta.IdCuenta;

                generatedKey = myCommand.ExecuteNonQuery();

                connection.Close();
            }
            catch (MySqlException ex)
            {

            }

            return generatedKey;
        }
コード例 #18
0
ファイル: MailServer.cs プロジェクト: ivanebel/ClienteCorreo
        public List<CorreoDTO> leerCorreo(CuentaDTO cuenta)
        {
            List<CorreoDTO> listaCorreos = new List<CorreoDTO>();

            try
            {
                ServerDTO server = new ServerDTO();
                server.Id = cuenta.Server;
                server = Server.getInstance().ObtenerServer(server);

                //Sesión
                AdminPop adminpop = new AdminPop();

                adminpop.ConectarPop(server, cuenta);

                List<MailMessage> listaMensajes = adminpop.ObtenerMensajes();

                //listaMensajes.Add(adminpop.ObtenerMensaje(30));
                //check fechas

                foreach (MailMessage mensajeObtenido in listaMensajes)
                {
                    CorreoDTO correo = new CorreoDTO();
                    correo.IdCuenta = cuenta.IdCuenta;

                    OrigenDestinoDTO od = new OrigenDestinoDTO();
                    List<OrigenDestinoDTO> listaOrigenes = new List<OrigenDestinoDTO>();

                    od.Direccion = PasajeCorreos.getInstance().obtenerCorreoBlank(mensajeObtenido.From.ToString());
                    od.Cco = false;
                    od.Cc = false;
                    correo.OrigenDestino = listaOrigenes;
                    correo.OrigenDestino.Add(od);

                    MailAddressCollection listaCC = mensajeObtenido.CC;

                    if (listaCC != null) {
                        foreach (MailAddress ma in listaCC) {
                            OrigenDestinoDTO ccdir = new OrigenDestinoDTO();
                            ccdir.Direccion = PasajeCorreos.getInstance().obtenerCorreoBlank(ma.ToString());
                            ccdir.Cc = true;
                            ccdir.Cco = false;
                            correo.OrigenDestino.Add(ccdir);
                        }

                    }

                    AttachmentCollection coleccionadjuntos = mensajeObtenido.Attachments;
                    List<AttachmentDTO> adjuntos = new List<AttachmentDTO>();

                    if (coleccionadjuntos.Count > 0)
                    {

                        //No puedo usar esto porque previamente limpié la tabla de correos, por lo tanto no hay id.
                        //int maxid = Controller.Correo.getInstance().UltimoIdCorreo(cuenta);

                        foreach (Attachment adj in coleccionadjuntos)
                        {
                            AttachmentDTO adjunto = new AttachmentDTO();

                            //adjunto.IdCorreo = maxid + 1;
                            adjunto.Name = adj.Name;
                            adjunto.Path = adj.ContentStream.ToString();        //OJO

                            adjuntos.Add(adjunto);
                        }
                    }

                    correo.Adjuntos = adjuntos;

                    //MIRAR ACA
                    string fechaStr = mensajeObtenido.Subject.Substring(mensajeObtenido.Subject.Length - 10, 10);

                    correo.Fecha = DateTime.Parse(fechaStr);

                    correo.Asunto = mensajeObtenido.Subject.Substring(0, (mensajeObtenido.Subject.Length - 10));
                    correo.NumeroServidorCorreo = mensajeObtenido.To.Count;

                    correo.Detalle = mensajeObtenido.Body;

                    correo.TipoCorreo = Tipo.RECIBIDO;
                    listaCorreos.Add(correo);
                }

            }
            catch (ArgumentNullException ex) {

            }

            return listaCorreos;
        }
コード例 #19
0
        private void ActualizarDatos(string folder)
        {
            List<CorreoDTO> listaCorreos;

            switch (folder) {
                case "inbox":
                    listaCorreos = Controller.Correo.getInstance().listar(false, false);
                    break;
                case "sent":
                    listaCorreos = Controller.Correo.getInstance().listar(false, true);
                    break;
                case "draft":
                    listaCorreos = Controller.Correo.getInstance().listar(false, false);
                    break;
                default:
                    listaCorreos = Controller.Correo.getInstance().listar(false, false);
                    break;
            }

            LimpiarLista();

            DataTable tabla = GetFormatoTabla();

            for (int i = 0; i <= listaCorreos.Count - 1; i++) {
                DataRow fila = tabla.NewRow();      //Nueva fila con el formato default
                CorreoDTO correoObtenido = listaCorreos[i];

                //Obtengo remitente
                String remitente = "";
                foreach (OrigenDestinoDTO de in correoObtenido.OrigenDestino) {
                    if (!(de.Cc) && !(de.Cco))
                        remitente = de.Direccion;
                }

                string fechaStr = correoObtenido.Fecha.ToShortDateString();
                List<AttachmentDTO> adjuntos = new List<AttachmentDTO>();

                adjuntos = correoObtenido.Adjuntos;

                CuentaDTO cuenta = new CuentaDTO();
                cuenta.IdCuenta = correoObtenido.IdCuenta;

                cuenta = Controller.Cuenta.getInstance().ObtenerCuenta(cuenta);

                if (adjuntos.Count > 0)
                    tabla.Rows.Add(correoObtenido.IdCorreo.ToString(), remitente, correoObtenido.Asunto.ToString(), fechaStr, correoObtenido.Read, cuenta.User, "A");
                else
                    tabla.Rows.Add(correoObtenido.IdCorreo.ToString(), remitente, correoObtenido.Asunto.ToString(), fechaStr, correoObtenido.Read, cuenta.User);

            }

            //La tabla resultante es el nuevo DataSource del DGV.
            dgvMensajes.DataSource = tabla;

            dgvMensajes.Columns[6].HeaderText = "";

            dgvMensajes.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
            dgvMensajes.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
            dgvMensajes.Columns[5].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
            dgvMensajes.Columns[6].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
            dgvMensajes.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            dgvMensajes.Columns[0].Visible = false;
            dgvMensajes.Columns[4].Visible = false;
            dgvMensajes.Columns[6].Visible = false;

            DataGridViewImageColumn imgCol = new DataGridViewImageColumn();
            Image image = imageList1.Images[4];

            dgvMensajes.Columns.Add(imgCol);
            dgvMensajes.Columns[7].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;

            cantidadNoLeidos = 0;

            foreach (DataGridViewRow fila in dgvMensajes.Rows)
            {
                if (fila.Cells["Leido"].Value.ToString() == "False")
                {
                    dgvMensajes.Rows[fila.Index].DefaultCellStyle.BackColor = Color.FromArgb(204, 227, 245);
                    dgvMensajes.Rows[fila.Index].DefaultCellStyle.Font = new Font(dgvMensajes.DefaultCellStyle.Font, FontStyle.Bold);
                    cantidadNoLeidos++;
                }
            }

            foreach (DataGridViewRow fila in dgvMensajes.Rows)
            {
                if (fila.Cells["Adjunto"].Value.ToString() == "A")
                {
                    dgvMensajes.Rows[fila.Index].Cells[7].Value = image;
                }
                else
                {

                    dgvMensajes.Rows[fila.Index].Cells[7].Style.NullValue = null;
                }
            }

            tsMensajes.Text = "Bandeja de Entrada: " + dgvMensajes.Rows.Count.ToString() + " mensajes";

            ActualizarTreeView();
        }
コード例 #20
0
ファイル: CuentaSQL.cs プロジェクト: ivanebel/ClienteCorreo
        /// <summary>
        /// Obtiene una Cuenta almacenada en la Base de Datos
        /// </summary>
        /// <param name="cuenta"></param>
        /// <returns></returns>
        public CuentaDTO get(CuentaDTO cuenta)
        {
            CuentaDTO cuentaObtenida = new CuentaDTO();

            try
            {
                connection.Open();

                MySqlCommand myCommand = new MySqlCommand();
                MySqlDataAdapter myAdapter = new MySqlDataAdapter();
                DataTable myData = new DataTable();

                myCommand.Connection = connection;

                myCommand.CommandText = "SELECT idcuenta,usuario,password,server_idserver FROM Cuenta WHERE " +
                    "idcuenta = ?idcuenta";

                myCommand.Parameters.Add("?idcuenta", MySqlDbType.VarChar).Value = cuenta.IdCuenta;

                myAdapter.SelectCommand = myCommand;
                myAdapter.Fill(myData);

                connection.Close();

                if (myData.Rows.Count != 0) {
                    cuentaObtenida.IdCuenta = int.Parse(myData.Rows[0].ItemArray.GetValue(0).ToString());
                    cuentaObtenida.User = myData.Rows[0].ItemArray.GetValue(1).ToString();
                    cuentaObtenida.Password = myData.Rows[0].ItemArray.GetValue(2).ToString();
                    cuentaObtenida.Server = int.Parse(myData.Rows[0].ItemArray.GetValue(3).ToString());
                }

            }
            catch (Exception ex) { }

            return cuentaObtenida;
        }
コード例 #21
0
ファイル: frmCuentas.cs プロジェクト: ivanebel/ClienteCorreo
        private void dgvCuentas_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (dgvCuentas.Rows.Count == 0)
                return;

            DataGridViewRow fila = dgvCuentas.SelectedRows[0];
            int idcuenta = int.Parse(fila.Cells[0].Value.ToString());

            CuentaDTO cuentaSeleccionada = new CuentaDTO();
            cuentaSeleccionada.IdCuenta = idcuenta;
            cuenta = Controller.Cuenta.getInstance().ObtenerCuenta(cuentaSeleccionada);

            btnEditar.Enabled = true;
            btnEliminar.Enabled = true;

            CargarCampos();
        }
コード例 #22
0
ファイル: Cuenta.cs プロジェクト: ivanebel/ClienteCorreo
 /// <summary>
 /// Método para eliminar una cuenta
 /// </summary>
 /// <param name="cuenta">Cuenta que se va a eliminar</param>
 public void EliminarCuenta(CuentaDTO cuenta)
 {
     factory.startConnection();
     factory.getCuenta().delete(cuenta);
     factory.closeConnection();
 }
コード例 #23
0
ファイル: Cuenta.cs プロジェクト: ivanebel/ClienteCorreo
 /// <summary>
 /// Método para obtener todos los datos existentes de una cuenta
 /// </summary>
 /// <param name="cuenta"></param>
 /// <returns></returns>
 public CuentaDTO ObtenerCuenta(CuentaDTO cuenta)
 {
     factory.startConnection();
     CuentaDTO cuentaObtenida = factory.getCuenta().get(cuenta);
     factory.closeConnection();
     return cuentaObtenida;
 }
コード例 #24
0
ファイル: CuentaSQL.cs プロジェクト: ivanebel/ClienteCorreo
        /// <summary>
        /// Obtiene una lista de las Cuentas almacenadas en la Base de Datos
        /// </summary>
        /// <returns></returns>
        public List<CuentaDTO> list()
        {
            CuentaDTO cuentaObtenida;
            List<CuentaDTO> list = new List<CuentaDTO>();

            try
            {
                connection.Open();

                MySqlCommand myCommand = new MySqlCommand();
                MySqlDataAdapter myAdapter = new MySqlDataAdapter();
                DataTable myData = new DataTable();

                myCommand.Connection = connection;

                myCommand.CommandText = "SELECT idcuenta,usuario,password,server_idserver FROM cuenta";

                myAdapter.SelectCommand = myCommand;
                myAdapter.Fill(myData);

                connection.Close();

                if (myData.Rows.Count != 0) {
                    for (int i = 0; i <= myData.Rows.Count - 1; i++) {
                        cuentaObtenida = new CuentaDTO();

                        cuentaObtenida.IdCuenta = int.Parse(myData.Rows[i].ItemArray.GetValue(0).ToString());
                        cuentaObtenida.User = myData.Rows[i].ItemArray.GetValue(1).ToString();
                        cuentaObtenida.Password = myData.Rows[i].ItemArray.GetValue(2).ToString();
                        cuentaObtenida.Server = int.Parse(myData.Rows[i].ItemArray.GetValue(3).ToString());

                        list.Add(cuentaObtenida);
                    }
                }

            }
            catch (Exception ex) { }

            return list;
        }
コード例 #25
0
ファイル: Cuenta.cs プロジェクト: ivanebel/ClienteCorreo
 /// <summary>
 /// Método para obtener la cuenta a partir de un correo.
 /// </summary>
 /// <param name="correo">Correo del que se quiere obtener la cuenta</param>
 /// <returns>CuentaDTO del correo</returns>
 public CuentaDTO ObtenerCuentaDeCorreo(CorreoDTO correo)
 {
     CuentaDTO cuentaObtenida = new CuentaDTO();
     cuentaObtenida.IdCuenta = correo.IdCuenta;
     factory.startConnection();
     cuentaObtenida = factory.getCuenta().get(cuentaObtenida);
     factory.closeConnection();
     return cuentaObtenida;
 }
コード例 #26
0
ファイル: CorreoSQL.cs プロジェクト: ivanebel/ClienteCorreo
        public int LastId(CuentaDTO cuenta)
        {
            int res = 0;

            try
            {
                connection.Open();

                MySqlCommand myCommand = new MySqlCommand();
                myCommand.Connection = connection;
                myCommand.CommandText = "SELECT MAX(idcorreo) FROM correo WHERE cuenta_idcuenta=?cuentaidd";
                myCommand.Parameters.Add("?cuentaidd", MySqlDbType.Int16).Value = cuenta.IdCuenta;

                string idStr = myCommand.ExecuteScalar().ToString();

                try
                {
                    int i = int.Parse(idStr);
                    res = i;
                }
                catch (Exception e) {
                    res = 0;
                }

                connection.Close();

                return res;
            }
            catch (MySqlException ex) {
                return 0;
            }
        }