protected void ddlFolders_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                ILogicaEmails le = FabricaLogica.getLogicaEmails();
                Carpeta current = (Carpeta)Session["Carpeta"];
                if (current != null)
                {
                    //le.MoverEmail(Convert.ToInt32(Session["EmailId"]), current.NUMERO_CARPETA, Convert.ToInt32(ddlFolders.SelectedValue));

                    Entidades.Email email = new Entidades.Email();
                    email.NUMERO_EMAIL = Convert.ToInt32(Session["EmailId"]);
                    Carpeta cdestino = new Carpeta();
                    cdestino.NUMERO_CARPETA = Convert.ToInt32(ddlFolders.SelectedValue);
                    le.MoverEmail(email, current, cdestino);

                    lblInfo.Text = "El email se movio a la carpeta " + ddlFolders.SelectedItem.Text;
                }

            }
            catch (Exception ex)
            {
                lblInfo.Text = ex.Message;
            }
        }
        /// <summary>
        /// ELIMINA UN EMAIL DE LA BASE DE DATOS
        /// </summary>
        /// <param name="NumeroEmail"></param>
        public void EliminarEmail(Email e, Carpeta c)
        {
            SqlConnection conexion = new SqlConnection(Conexion.Cnn);
            SqlCommand cmd = Conexion.GetCommand("spEliminarEmail", conexion, CommandType.StoredProcedure);

            SqlParameter _numeroEmail = new SqlParameter("@NumeroMail", e.NUMERO_EMAIL);
            SqlParameter _numeroCarpeta = new SqlParameter("@NumeroCarpeta", c.NUMERO_CARPETA);

            cmd.Parameters.Add(_numeroEmail);
            cmd.Parameters.Add(_numeroCarpeta);

            try
            {
                conexion.Open();
                cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw new ApplicationException("Problemas con la base de datos:" + ex.Message);
            }
            finally
            {
                conexion.Close();
            }
        }
        protected void btnNuevaCarpeta_Click(object sender, EventArgs e)
        {
            try
            {
                if (!String.IsNullOrEmpty(txtNuevaCarpetaNombre.Text))
                {
                    ILogicaCarpetas lc = FabricaLogica.getLogicaCarpetas();
                    Carpeta c = new Carpeta();
                    SiteAlumno master = (SiteAlumno)Master;
                    c.NOMBRE_CARPETA = txtNuevaCarpetaNombre.Text;
                    c.USUARIO = master.USUARIO_LOGUEADO;
                    lc.AgregarCarpeta(c);

                    RefreshFolders();
                    lblInfo.Text = "Carpeta creada";
                    txtNuevaCarpetaNombre.Text = "";
                }
                else
                {
                    lblInfo.Text = "Ingrese un nombre de carpeta";
                }
            }
            catch (Exception ex)
            {
                lblInfo.Text = ex.Message;
            }
        }
Example #4
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="numeroEmail"></param>
 /// <param name="asunto"></param>
 /// <param name="leido"></param>
 /// <param name="cuerpo"></param>
 /// <param name="_carpetaRemitente"></param>
 /// <param name="_carpetaDestinatario"></param>
 public Email(int? numeroEmail, string asunto, bool leido, string cuerpo, Carpeta _carpetaRemitente, Carpeta _carpetaDestinatario, DateTime fechaEmail)
 {
     if (numeroEmail != null)
         NUMERO_EMAIL = Convert.ToInt32(numeroEmail);
     CARPETA_REMITENTE = _carpetaRemitente;
     CARPETA_DESTINATARIO = _carpetaDestinatario;
     ASUNTO = asunto;
     LEIDO = leido;
     CUERPO = cuerpo;
     FECHA = fechaEmail;
 }
 //public void EliminarCarpeta(int numeroCarpeta)
 public void EliminarCarpeta(Carpeta c)
 {
     try
     {
         ServicioRemoting.ServicioCarpeta _objServicioC = new ServicioRemoting.ServicioCarpeta();
         _objServicioC.EliminarCarpeta(c);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        //public Carpeta GetCarpeta(int numCarpeta, int ci)
        public Carpeta GetCarpeta(Carpeta c)
        {
            try
            {
                IPersistenciaCarpetas pc = FabricaPersistencia.getPersistenciaCarpetas();
                return pc.BuscarCarpetaAlumno(c);
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
        //public void EliminarCarpeta(int numeroCarpeta)
        public void EliminarCarpeta(Carpeta c)
        {
            try
            {
                IPersistenciaCarpetas pc = FabricaPersistencia.getPersistenciaCarpetas();
                pc.EliminarCarpeta(c);
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
        //public Carpeta GetCarpeta(int numCarpeta, int ci)
        public Carpeta GetCarpeta(Carpeta c)
        {
            try
            {
                ServicioRemoting.ServicioCarpeta _objServicioC = new ServicioRemoting.ServicioCarpeta();
                return _objServicioC.BuscarCarpetaAlumno(c);
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
Example #9
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="numeroEmail"></param>
 /// <param name="asunto"></param>
 /// <param name="leido"></param>
 /// <param name="cuerpo"></param>
 /// <param name="_carpetaRemitente"></param>
 /// <param name="_carpetaDestinatario"></param>
 public Email(int?numeroEmail, string asunto, bool leido, string cuerpo, Carpeta _carpetaRemitente, Carpeta _carpetaDestinatario, DateTime fechaEmail)
 {
     if (numeroEmail != null)
     {
         NUMERO_EMAIL = Convert.ToInt32(numeroEmail);
     }
     CARPETA_REMITENTE    = _carpetaRemitente;
     CARPETA_DESTINATARIO = _carpetaDestinatario;
     ASUNTO = asunto;
     LEIDO  = leido;
     CUERPO = cuerpo;
     FECHA  = fechaEmail;
 }
Example #10
0
        //Metodo para averiguar si ya existe esa carpeta:
        public Carpeta BuscarCarpetaNombre(string nombre)
        {
            Carpeta carpeta = new Carpeta();
            if (miConexion.conectar())
            {
                DataSet ds = new DataSet();
                string consulta = "SELECT * FROM dbo.Carpetas WHERE Nombre='" + nombre + "';";
                SqlDataAdapter data = new SqlDataAdapter(consulta, miConexion.Sqlconn);
                data.Fill(ds);
                foreach (DataRow item in ds.Tables[0].Rows)
                {
                    miCarpeta = new Carpeta(item);

                }
                return miCarpeta;
            }
            else return null;
        }
        public void AgregarCarpeta(Carpeta c)
        {
            try
            {
                ServicioRemoting.ServicioCarpeta _objServicioC = new ServicioRemoting.ServicioCarpeta();
                if (c.NOMBRE_CARPETA.ToUpper() == "INBOX" ||
                    c.NOMBRE_CARPETA.ToUpper() == "PAPELERA" ||
                    c.NOMBRE_CARPETA.ToUpper() == "ENVIADOS")
                {
                    throw new Exception("Nombre de carpeta no valido");
                }

                //si el nombre de la carpeta no es ninguno por defecto del sistema la podemos ingreasr
                _objServicioC.NuevaCarpeta(c);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #12
0
        //Listar carpetas del usuario logueado:
        public List<Carpeta> ListarCarpetas(int idUsuario)
        {
            if (miConexion.conectar())
            {
                DataSet ds = new DataSet();

                string consulta = "SELECT * FROM dbo.Carpetas WHERE IdUsuario=" + idUsuario + "; ";
                SqlDataAdapter data = new SqlDataAdapter(consulta, miConexion.Sqlconn);
                data.Fill(ds);

                List<Carpeta> misCarpetas = new List<Carpeta>();
                foreach (DataRow item in ds.Tables[0].Rows)
                {
                    var carpeta = new Carpeta(item);
                    misCarpetas.Add(carpeta);
                }
                return misCarpetas;
            }
            else return null;
        }
        public void AgregarCarpeta(Carpeta c)
        {
            try
            {
                IPersistenciaCarpetas pc = FabricaPersistencia.getPersistenciaCarpetas();
                if (c.NOMBRE_CARPETA.ToUpper() == "INBOX" ||
                    c.NOMBRE_CARPETA.ToUpper() == "PAPELERA" ||
                    c.NOMBRE_CARPETA.ToUpper() == "ENVIADOS")
                {
                    throw new Exception("Nombre de carpeta no valido");
                }

                //si el nombre de la carpeta no es ninguno por defecto del sistema la podemos ingreasr
                pc.NuevaCarpeta(c);
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
Example #14
0
        protected void FolderListRepeater_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            try
            {
                ILogicaCarpetas lc = FabricaLogica.getLogicaCarpetas();

                if (e.CommandName.ToUpper() == "CONSULTAR")
                {
                    //TRAEMOS TODOS LOS EMAILS DE ESA CARPETA
                    //---------------------------------------
                    //Carpeta currentFolder = lc.GetCarpeta(Convert.ToInt32(e.CommandArgument),((Alumno) Session["Usuario"]).CI);
                    Carpeta c = new Carpeta
                                    {
                                        NUMERO_CARPETA = Convert.ToInt32(e.CommandArgument),
                                        USUARIO = ((Alumno) Session["Usuario"])
                                    };
                    Carpeta currentFolder = lc.GetCarpeta(c);

                    ConsultaCarpeta.CARPETA = currentFolder;
                }
                else if (e.CommandName.ToUpper() == "ELIMINAR")
                {

                    //ELIMINAMOS LA CARPETA SELECCIONADA
                    //----------------------------------
                    Carpeta c = new Carpeta();
                    c.NUMERO_CARPETA = Convert.ToInt32(e.CommandArgument);
                    //lc.EliminarCarpeta(Convert.ToInt32(e.CommandArgument));
                    lc.EliminarCarpeta(c);

                    lblInfo.Text = "Carpeta Eliminada";
                    RefreshFolders();
                }
            }
            catch (Exception ex)
            {
                lblInfo.Text = ex.Message;
            }
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="ciAlumno"></param>
        /// <param name="numCarpeta"></param>
        /// <returns></returns>
        public Carpeta BuscarCarpetaAlumno(Carpeta carpeta)
        {
            SqlConnection conexion = new SqlConnection(Conexion.Cnn);
            SqlCommand cmd = Conexion.GetCommand("spBuscarCarpeta", conexion, CommandType.StoredProcedure);
            SqlParameter _ci = new SqlParameter("@Ci", carpeta.USUARIO.CI);
            SqlParameter _numCarpeta = new SqlParameter("@numCarpeta", carpeta.NUMERO_CARPETA);
            cmd.Parameters.Add(_ci);
            cmd.Parameters.Add(_numCarpeta);

            SqlDataReader reader;
            Carpeta c = null;
            //Usuario _usuario;
            Alumno _usuario;
            string _nomCarpeta;
            try
            {
                conexion.Open();
                reader = cmd.ExecuteReader();
                if (reader.Read())
                {
                    _nomCarpeta = (string)reader["NombreCarpeta"];
                    //_usuario = new Usuario(ciAlumno, "", "", "", "");
                    _usuario = new Alumno { CI = carpeta.USUARIO.CI };
                    c = new Carpeta(_usuario, carpeta.NUMERO_CARPETA, _nomCarpeta);
                }
                reader.Close();
            }
            catch (Exception ex)
            {
                throw new ApplicationException("Problemas con la base de datos:" + ex.Message);
            }
            finally
            {
                conexion.Close();
            }

            return c;
        }
        //public void EliminarEmail(int numeroEmail, int NumeroCarpeta, int ciAlumno)
        /// <summary>
        /// ENVIA UN EMAIL A LA CARPETA DE PAPELERA
        /// ELIMINA UN EMAIL COMPLETAMENTE SI SE ENCUENTRA EN LA CARPETA PAPELERA
        /// </summary>
        /// <param name="e"></param>
        /// <param name="carpeta"></param>
        public void EliminarEmail(Email e, Carpeta carpeta)
        {
            try
            {
                ServicioRemoting.ServicioEmails _objServicioE = new ServicioRemoting.ServicioEmails();
                ServicioRemoting.ServicioCarpeta _objServicioC = new ServicioRemoting.ServicioCarpeta();
                //IPersistenciaCarpetas pc = FabricaPersistencia.getPersistenciaCarpetas();
                //Carpeta c = pc.BuscarCarpetaAlumno(ciAlumno, NumeroCarpeta);
                Carpeta c = _objServicioC.BuscarCarpetaAlumno(carpeta);
                if (c != null && c.NOMBRE_CARPETA.ToUpper() != "PAPELERA")
                {
                    //Carpeta papelera = pc.BuscarCarpetaSistemaAlumno(ciAlumno, "Papelera");
                    carpeta.NOMBRE_CARPETA = "Papelera";
                    Carpeta papelera = _objServicioC.BuscarCarpetaSistemaAlumno(carpeta);

                    if (papelera != null)
                    {
                        //pe.MoverEmail(numeroEmail, NumeroCarpeta, papelera.NUMERO_CARPETA);
                        _objServicioE.MoverEmail(e, carpeta, papelera);

                    }
                    else
                    {
                        throw new Exception("No se encontro la carpeta papelera del usuario");
                    }
                }
                else
                {
                    //pe.EliminarEmail(numeroEmail, NumeroCarpeta);
                    _objServicioE.EliminarEmail(e, carpeta);

                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// CUENTA EL TOTAL DE EMAILS DE UNA CARPETA SIN LEER
        /// </summary>
        /// <param name="numCarpeta"></param>
        /// <returns></returns>
        internal int ContarMailsCarpetaSinLeer(Carpeta c)
        {
            SqlConnection conexion = new SqlConnection(Conexion.Cnn);
            SqlCommand cmd = Conexion.GetCommand("spContarMailsSinLeer", conexion, CommandType.StoredProcedure);
            SqlParameter _ci = new SqlParameter("@numCarpeta", c.NUMERO_CARPETA);
            SqlParameter _retorno = new SqlParameter("@Retorno", SqlDbType.Int);
            _retorno.Direction = ParameterDirection.ReturnValue;
            cmd.Parameters.Add(_ci);
            cmd.Parameters.Add(_retorno);

            int cantSinLeer = 0;
            SqlDataReader reader;
            try
            {
                conexion.Open();
                reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    cantSinLeer = (int)reader["Total"];
                }
            }
            catch (Exception ex)
            {
                throw new ApplicationException("Problemas con la base de datos:" + ex.Message);
            }
            finally
            {
                conexion.Close();
            }

            return cantSinLeer;
        }
        /// <summary>
        /// DA DE ALTA UNA NUEVA CARPETA
        /// </summary>
        /// <param name="c"></param>
        public void NuevaCarpeta(Carpeta c)
        {
            SqlConnection conexion = new SqlConnection(Conexion.Cnn);
            SqlCommand cmd = Conexion.GetCommand("spAltaCarpeta", conexion, CommandType.StoredProcedure);

            SqlParameter _ci = new SqlParameter("@ci", c.USUARIO.CI);
            SqlParameter _nombreCarpeta = new SqlParameter("@NombreCarpeta", c.NOMBRE_CARPETA);

            SqlParameter _Retorno = new SqlParameter("@Retorno", SqlDbType.Int);
            _Retorno.Direction = ParameterDirection.ReturnValue;

            cmd.Parameters.Add(_ci);
            cmd.Parameters.Add(_nombreCarpeta);
            cmd.Parameters.Add(_Retorno);

            try
            {
                conexion.Open();
                cmd.ExecuteNonQuery();

                if (Convert.ToInt32(_Retorno.Value) == -1)
                    throw new ErrorCarpetaYaExiste();

                if (Convert.ToInt32(_Retorno.Value) == -2)
                    throw new ErrorUsuarioNoExiste();

                if (Convert.ToInt32(_Retorno.Value) == -3)
                    throw new ErrorGeneral();

            }
            catch (Exception ex)
            {
                throw new ApplicationException("Problemas con la base de datos:" + ex.Message);
            }
            finally
            {
                conexion.Close();
            }
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="a"></param>
        /// <returns></returns>
        public List<Carpeta> ListarCarpetasAlumno(Alumno a)
        {
            SqlConnection conexion = new SqlConnection(Conexion.Cnn);
            SqlCommand cmd = Conexion.GetCommand("spListarCarpetasUsuario", conexion, CommandType.StoredProcedure);
            SqlParameter _ci = new SqlParameter("@Ci", a.CI);

            cmd.Parameters.Add(_ci);

            SqlDataReader reader;
            List<Carpeta> carpetas = new List<Carpeta>();
            //Usuario _usuario;
            Alumno _usuario;
            string _nomCarpeta;
            int _numCarpeta;
            try
            {
                conexion.Open();
                reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    Carpeta c = new Carpeta();

                    _numCarpeta = (int)reader["NumeroCarpeta"];
                    _nomCarpeta = (string)reader["NombreCarpeta"];
                    //_usuario = new Usuario(ciAlumno, "", "", "", "");
                    _usuario = new Alumno {CI = a.CI};
                    c.NUMERO_CARPETA = _numCarpeta;
                    c.NOMBRE_CARPETA = _nomCarpeta;
                    int _totalEmails = ContarMailsCarpeta(c);
                    int _totalEmalsUnRead = ContarMailsCarpetaSinLeer(c);
                    c.USUARIO = _usuario;
                    c.TOTAL_EMAILS = _totalEmails;
                    c.TOTAL_EMAILS_NOLEIDOS = _totalEmalsUnRead;
                    carpetas.Add(c);
                }
                reader.Close();
            }
            catch (Exception ex)
            {
                throw new ApplicationException("Problemas con la base de datos: ListarCarpetasAlumno" + ex.Message);
            }
            finally
            {
                conexion.Close();
            }

            return carpetas;
        }
        /// <summary>
        /// ELIMINA UNA CARPETA DEL SISTEMA
        /// </summary>
        /// <param name="numeroCarpeta"></param>
        public void EliminarCarpeta(Carpeta c)
        {
            SqlConnection conexion = new SqlConnection(Conexion.Cnn);
            SqlCommand cmd = Conexion.GetCommand("spEliminarCarpeta", conexion, CommandType.StoredProcedure);

            SqlParameter _numeroCarpeta = new SqlParameter("@NumeroCarpeta", c.NUMERO_CARPETA);

            SqlParameter _Retorno = new SqlParameter("@Retorno", SqlDbType.Int);
            _Retorno.Direction = ParameterDirection.ReturnValue;

            cmd.Parameters.Add(_numeroCarpeta);
            cmd.Parameters.Add(_Retorno);

            try
            {
                conexion.Open();
                cmd.ExecuteNonQuery();

            }
            catch (Exception ex)
            {
                throw new ApplicationException("Problemas con la base de datos:" + ex.Message);
            }
            finally
            {
                conexion.Close();
            }
        }
 public Carpeta GetCarpeta(Carpeta c)
 {
     ILogicaCarpetas lc = FabricaLogica.getLogicaCarpetas();
     return lc.GetCarpeta(c);
 }
 public void EliminarEmail(Email e, Carpeta carpeta)
 {
     ILogicaEmails le = FabricaLogica.getLogicaEmails();
     le.EliminarEmail(e, carpeta);
 }
 public void EliminarCarpeta(Carpeta c)
 {
     ILogicaCarpetas lc = FabricaLogica.getLogicaCarpetas();
     lc.EliminarCarpeta(c);
 }
 //public void MoverEmail(int numeroEmail, int NumeroCarpetaActual, int numeroCarpetaDestino)
 public void MoverEmail(Email e, Carpeta carpetaActual, Carpeta carpetaDestino)
 {
     try
     {
         IPersistenciaEmails pe = FabricaPersistencia.getPersistenciaEmails();
         pe.MoverEmail(e, carpetaActual, carpetaDestino);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        //public List<Email> ListarEmail(int numeroCarpeta, int ci)
        public List<Email> ListarEmail(Carpeta carpeta)
        {
            try
            {
                IPersistenciaEmails pe = FabricaPersistencia.getPersistenciaEmails();

                ILogicaCarpetas lc = FabricaLogica.getLogicaCarpetas();
                //Carpeta c = lc.GetCarpeta(numeroCarpeta, ci);
                Carpeta c = lc.GetCarpeta(carpeta);

                List<Email> emails = new List<Email>();
                if (c != null)
                {
                    if (c.NOMBRE_CARPETA.ToUpper() == "ENVIADOS")
                    {
                        emails = pe.ListarEmailsEnviados(carpeta);
                    }
                    else if (c.NOMBRE_CARPETA.ToUpper() == "INBOX")
                    {
                        emails = pe.ListarEmailsRecibidos(carpeta);
                    }
                    else
                    {
                        emails = pe.ListarEmails(carpeta);
                    }

                    return emails;
                }
                else
                {
                    return null;
                }

            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        //public void MarcarEmailLeido(int NumeroEmail, int numeroCarpeta)
        public void MarcarEmailLeido(Email e, Carpeta c)
        {
            try
            {
                IPersistenciaEmails pe = FabricaPersistencia.getPersistenciaEmails();

                pe.MarcarEmailLeido(e, c);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
 public void MarcarEmailLeido(Email e, Carpeta c)
 {
     ILogicaEmails le = FabricaLogica.getLogicaEmails();
     le.MarcarEmailLeido(e, c);
 }
        /// <summary>
        /// Lista los emails del sistema
        /// </summary>
        /// <param name="numeroCarpeta"></param>a
        public List<Email> ListarEmailsEnviados(Carpeta c)
        {
            List<Email> _listaEmail = new List<Email>();

            SqlConnection conexion = new SqlConnection(Conexion.Cnn);
            SqlCommand cmd = Conexion.GetCommand("spListarMailsEnviados", conexion, CommandType.StoredProcedure);

            SqlParameter _numeroCarpeta = new SqlParameter("@NumeroCarpeta", c.NUMERO_CARPETA);

            cmd.Parameters.Add(_numeroCarpeta);

            SqlDataReader _Reader;
            try
            {
                conexion.Open();
                cmd.ExecuteNonQuery();
                _Reader = cmd.ExecuteReader();
                string _asunto, _cuerpo, _nombreDestinatario, _nombreRemitente, _apellidoRem,
                    _apellidoDest, _nombreUsuarioRem, _nombreUsuarioDest, _nombreCarpetaRem, _nombreCarpetaDest;
                bool _leido;
                int _numeroEmail;
                int _numCarpetaRem, _numCarpetaDest;
                //Usuario _usuarioRemitente, _usuarioDestinatario;
                Alumno _usuarioRemitente, _usuarioDestinatario;

                Carpeta _carpetaRemitente, _carpetaDestinatario;
                DateTime _fecha;

                while (_Reader.Read())
                {
                    _asunto = (string)_Reader["Asunto"];
                    _cuerpo = (string)_Reader["Cuerpo"];
                    _leido = (bool)_Reader["Leido"];
                    _numeroEmail = (int)_Reader["NumeroMail"];
                    _nombreRemitente = (string)_Reader["NombreRemitente"];
                    _nombreDestinatario = (string)_Reader["NombreDestinatario"];
                    _apellidoRem = (string)_Reader["ApellidoRemitente"];
                    _apellidoDest = (string)_Reader["ApellidoDestinatario"];
                    _nombreUsuarioRem = (string)_Reader["NombreUsuarioRemitente"];
                    _nombreUsuarioDest = (string)_Reader["NombreUsuarioDestinatario"];
                    _numCarpetaDest = (int)_Reader["NumeroCarpetaDest"];
                    _numCarpetaRem = (int)_Reader["NumeroCarpetaRem"];
                    _nombreCarpetaRem = (string)_Reader["NombreCarpetaRem"];
                    _nombreCarpetaDest = (string)_Reader["NombreCarpetaDest"];
                    _fecha = (DateTime)_Reader["Fecha"];

                    //_usuarioRemitente = new Usuario(0, _nombreUsuarioRem, _nombreRemitente, _apellidoRem, "");
                    _usuarioRemitente = new Alumno
                                            {
                                                NOMBRE_USUARIO = _nombreUsuarioRem,
                                                NOMBRE = _nombreRemitente,
                                                APELLIDO = _apellidoRem
                                            };

                    _carpetaRemitente = new Carpeta(_usuarioRemitente, _numCarpetaRem, _nombreCarpetaRem);
                    //_usuarioDestinatario = new Usuario(0, _nombreUsuarioDest, _nombreDestinatario, _apellidoDest, "");
                    _usuarioDestinatario = new Alumno
                    {
                        NOMBRE_USUARIO = _nombreUsuarioDest,
                        NOMBRE = _nombreDestinatario,
                        APELLIDO = _apellidoDest
                    };

                    _carpetaDestinatario = new Carpeta(_usuarioDestinatario, _numCarpetaDest, _nombreCarpetaDest);

                    Email e = new Email(_numeroEmail, _asunto, _leido, _cuerpo, _carpetaRemitente, _carpetaDestinatario, _fecha);

                    _listaEmail.Add(e);
                }
                _Reader.Close();
            }
            catch (Exception ex)
            {
                throw new ApplicationException("Problemas con la base de datos:ListarEmailsEnviados" + ex.Message);
            }
            finally
            {
                conexion.Close();
            }

            return _listaEmail;
        }
 public void MoverEmail(Email e, Carpeta carpetaActual, Carpeta carpetaDestino)
 {
     ILogicaEmails le = FabricaLogica.getLogicaEmails();
     le.MoverEmail(e, carpetaActual, carpetaDestino);
 }
        /// <summary>
        /// OBTIENE UN EMAIL DE LA BASE DE DATOS
        /// </summary>
        /// <param name="numeroEmail"></param>
        /// <returns></returns>
        public Email GetEmail(Email e)
        {
            Email EmailRetorno = new Email();
            SqlConnection conexion = new SqlConnection(Conexion.Cnn);
            SqlCommand cmd = Conexion.GetCommand("spGetmail", conexion, CommandType.StoredProcedure);
            SqlParameter _numeroEmail = new SqlParameter("@NumeroMail", e.NUMERO_EMAIL);

            cmd.Parameters.Add(_numeroEmail);

            SqlDataReader _Reader;
            try
            {
                conexion.Open();
                _Reader = cmd.ExecuteReader();

                string _asunto, _cuerpo, _nombreDestinatario, _nombreRemitente, _apellidoRem,
                    _apellidoDest, _nombreUsuarioRem, _nombreUsuarioDest, _nombreCarpetaRem, _nombreCarpetaDest;
                bool _leido;
                int _numCarpetaRem, _numCarpetaDest;
                //Usuario _usuarioRemitente, _usuarioDestinatario;
                Alumno _usuarioRemitente, _usuarioDestinatario;

                Carpeta _carpetaRemitente, _carpetaDestinatario;
                DateTime _fecha;

                while (_Reader.Read())
                {
                    _asunto = (string)_Reader["Asunto"];
                    _cuerpo = (string)_Reader["Cuerpo"];
                    _leido = (bool)_Reader["Leido"];
                    _nombreRemitente = (string)_Reader["NombreRemitente"];
                    _nombreDestinatario = (string)_Reader["NombreDestinatario"];
                    _apellidoRem = (string)_Reader["ApellidoRemitente"];
                    _apellidoDest = (string)_Reader["ApellidoDestinatario"];
                    _nombreUsuarioRem = (string)_Reader["NombreUsuarioRemitente"];
                    _nombreUsuarioDest = (string)_Reader["NombreUsuarioDestinatario"];
                    _numCarpetaDest = (int)_Reader["NumeroCarpetaDest"];
                    _numCarpetaRem = (int)_Reader["NumeroCarpetaRem"];
                    _nombreCarpetaRem = (string)_Reader["NombreCarpetaRem"];
                    _nombreCarpetaDest = (string)_Reader["NombreCarpetaDest"];
                    _fecha = (DateTime)_Reader["Fecha"];

                    //_usuarioRemitente = new Usuario(0, _nombreUsuarioRem, _nombreRemitente, _apellidoRem, "");
                    _usuarioRemitente = new Alumno
                    {
                        NOMBRE_USUARIO = _nombreUsuarioRem,
                        NOMBRE = _nombreRemitente,
                        APELLIDO = _apellidoRem
                    };
                    _carpetaRemitente = new Carpeta(_usuarioRemitente, _numCarpetaRem, _nombreCarpetaRem);
                    //_usuarioDestinatario = new Usuario(0, _nombreUsuarioDest, _nombreDestinatario, _apellidoDest, "");
                    _usuarioDestinatario = new Alumno
                    {
                        NOMBRE_USUARIO = _nombreUsuarioDest,
                        NOMBRE = _nombreDestinatario,
                        APELLIDO = _apellidoDest
                    };
                    _carpetaDestinatario = new Carpeta(_usuarioDestinatario, _numCarpetaDest, _nombreCarpetaDest);

                    EmailRetorno = new Email(e.NUMERO_EMAIL, _asunto, _leido, _cuerpo, _carpetaRemitente, _carpetaDestinatario,_fecha);
                }
            }
            catch (Exception ex)
            {
                throw new ApplicationException("Problemas con la base de datos:" + ex.Message);
            }
            finally
            {
                conexion.Close();
            }

            return EmailRetorno;
        }
 public void AgregarCarpeta(Carpeta c)
 {
     ILogicaCarpetas lc = FabricaLogica.getLogicaCarpetas();
     lc.AgregarCarpeta(c);
 }