public void Destroy(int p_Usuario_OID)
        {
            /*PROTECTED REGION ID(MultitecUAGenNHibernate.CP.MultitecUA_Usuario_destroy) ENABLED START*/

            IUsuarioCAD             usuarioCAD             = null;
            IMensajeCAD             mensajeCAD             = null;
            IProyectoCAD            proyectoCAD            = null;
            INotificacionUsuarioCAD notificacionUsuarioCAD = null;



            try
            {
                SessionInitializeTransaction();
                usuarioCAD             = new UsuarioCAD(session);
                mensajeCAD             = new MensajeCAD(session);
                proyectoCAD            = new ProyectoCAD(session);
                notificacionUsuarioCAD = new NotificacionUsuarioCAD(session);

                if (mensajeCAD.DameMensajesPorAutor(p_Usuario_OID).Count == 0)
                {
                    if (mensajeCAD.DameMensajesPorReceptor(p_Usuario_OID).Count == 0)
                    {
                        if (proyectoCAD.DameProyectosUsuarioPertenece(p_Usuario_OID).Count == 0)
                        {
                            if (notificacionUsuarioCAD.DameNotificacionesPorUsuario(p_Usuario_OID).Count == 0)
                            {
                                usuarioCAD.Destroy(p_Usuario_OID);
                            }
                        }
                    }
                }


                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }


            /*PROTECTED REGION END*/
        }
        public MultitecUAGenNHibernate.EN.MultitecUA.MensajeEN New_(string p_titulo, string p_cuerpo, int p_usuarioAutor, int p_usuarioReceptor, System.Collections.Generic.IList <string> p_archivosAdjuntos)
        {
            /*PROTECTED REGION ID(MultitecUAGenNHibernate.CP.MultitecUA_Mensaje_new_) ENABLED START*/

            IMensajeCAD mensajeCAD = null;
            MensajeCEN  mensajeCEN = null;

            MultitecUAGenNHibernate.EN.MultitecUA.MensajeEN result = null;


            try
            {
                SessionInitializeTransaction();
                mensajeCAD = new MensajeCAD(session);
                mensajeCEN = new MensajeCEN(mensajeCAD);



                int oid;
                //Initialized MensajeEN
                MensajeEN mensajeEN;
                mensajeEN        = new MensajeEN();
                mensajeEN.Titulo = p_titulo;

                mensajeEN.Cuerpo = p_cuerpo;


                if (p_usuarioAutor != -1)
                {
                    mensajeEN.UsuarioAutor    = new MultitecUAGenNHibernate.EN.MultitecUA.UsuarioEN();
                    mensajeEN.UsuarioAutor.Id = p_usuarioAutor;
                }


                if (p_usuarioReceptor != -1)
                {
                    mensajeEN.UsuarioReceptor    = new MultitecUAGenNHibernate.EN.MultitecUA.UsuarioEN();
                    mensajeEN.UsuarioReceptor.Id = p_usuarioReceptor;
                }

                mensajeEN.ArchivosAdjuntos = p_archivosAdjuntos;

                mensajeEN.Fecha = DateTime.Now;

                mensajeEN.Estado = Enumerated.MultitecUA.EstadoLecturaEnum.NoLeido;

                //Call to MensajeCAD
                oid    = mensajeCAD.New_(mensajeEN);
                result = mensajeCAD.ReadOIDDefault(oid);

                UsuarioCEN usuarioCEN = new UsuarioCEN();

                UsuarioEN autor    = usuarioCEN.ReadOID(p_usuarioAutor);
                UsuarioEN receptor = usuarioCEN.ReadOID(p_usuarioReceptor);

                //NotificacionMensajeCEN nMCEN = new NotificacionMensajeCEN ();
                //int oidNotificacion = nMCEN.New_ ("Tienes un mensaje nuevo", autor.Nombre + " te ha enviado un mensaje", oid);

                //NotificacionUsuarioCEN nUCEN = new NotificacionUsuarioCEN ();
                //nUCEN.New_ (receptor.Id, oidNotificacion);


                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }
            return(result);


            /*PROTECTED REGION END*/
        }
示例#3
0
        public UniDATESGenNHibernate.EN.UniDATES.MensajeEN New_(string p_texto, string p_imagen, string p_video, int p_emisor, int p_receptor)
        {
            /*PROTECTED REGION ID(UniDATESGenNHibernate.CP.UniDATES_Mensaje_new_) ENABLED START*/

            IMensajeCAD mensajeCAD = null;
            MensajeCEN  mensajeCEN = null;
            CitaCAD     citaCAD    = null;
            CitaCEN     citaCEN    = null;

            UniDATESGenNHibernate.EN.UniDATES.MensajeEN result = null;


            try
            {
                SessionInitializeTransaction();
                mensajeCAD = new MensajeCAD(session);
                mensajeCEN = new  MensajeCEN(mensajeCAD);


                citaCAD = new CitaCAD(session);
                citaCEN = new CitaCEN(citaCAD);



                int oid;
                //Initialized MensajeEN
                MensajeEN mensajeEN;
                mensajeEN       = new MensajeEN();
                mensajeEN.Texto = p_texto;

                mensajeEN.Imagen = p_imagen;

                mensajeEN.Video = p_video;


                if (p_emisor != -1)
                {
                    mensajeEN.Emisor           = new UniDATESGenNHibernate.EN.UniDATES.UsuarioEN();
                    mensajeEN.Emisor.IdUsuario = p_emisor;
                }


                if (p_receptor != -1)
                {
                    mensajeEN.Receptor           = new UniDATESGenNHibernate.EN.UniDATES.UsuarioEN();
                    mensajeEN.Receptor.IdUsuario = p_receptor;
                }

                //Call to MensajeCAD

                oid = mensajeCAD.New_(mensajeEN);
                CitaEN citaEN = null;

                IList <CitaEN> citasSolicitadasE = citaCEN.DameChats(mensajeEN.Emisor.IdUsuario);
                IList <CitaEN> citasSolicitadasR = citaCEN.DameChats(mensajeEN.Receptor.IdUsuario);
                int            idCita            = -1;
                foreach (CitaEN cit in citasSolicitadasE)
                {
                    int idCitaEmisor = cit.IdCita;
                    //Console.WriteLine ("IDCita emisor: " + idCitaEmisor);
                    foreach (CitaEN cita in citasSolicitadasR)
                    {
                        int idCitaReceptor = cita.IdCita;
                        // Console.WriteLine ("IdCitaReceptor: " + idCitaReceptor);
                        if (idCitaEmisor == idCitaReceptor)
                        {
                            idCita = idCitaEmisor;
                        }
                    }
                }

                if (idCita != -1)
                {
                    citaEN = citaCEN.ReadOID(idCita);
                }


                if (citaEN != null)
                {
                    result = mensajeCAD.ReadOIDDefault(oid);
                }



                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }
            return(result);


            /*PROTECTED REGION END*/
        }
示例#4
0
        public static void InitializeData()
        {
            /*PROTECTED REGION ID(initializeDataMethod) ENABLED START*/

            try
            {
                //CAD
                //USUARIOS
                IUsuarioCAD       _IusuarioCAD       = new UsuarioCAD();
                IAdministradorCAD _IadministradorCAD = new AdministradorCAD();
                IAsistenteCAD     _IasistenteCAD     = new AsistenteCAD();
                IGrupoCAD         _IgrupoCAD         = new GrupoCAD();
                //EVENTO
                IEventoCAD       _IeventoCAD       = new EventoCAD();
                IEventoPagoCAD   _IeventoPagoCAD   = new EventoPagoCAD();
                IEventoGratisCAD _IeventoGratisCAD = new EventoGratisCAD();
                IEntradaCAD      _IentradaCAD      = new EntradaCAD();
                //OTROS
                IComentarioCAD _IcomentarioCAD = new ComentarioCAD();
                IPremioCAD     _IpremioCAD     = new PremioCAD();
                IMensajeCAD    _ImensajeCAD    = new MensajeCAD();


                //EN

                UsuarioEN       usuarioEN       = new UsuarioEN();
                AdministradorEN administradorEN = new AdministradorEN();
                AsistenteEN     asistenteEN     = new AsistenteEN();
                GrupoEN         grupoEN         = new GrupoEN();

                EventoEN       eventoEN       = new EventoEN();
                EventoPagoEN   eventoPagoEN   = new EventoPagoEN();
                EventoGratisEN eventoGratisEN = new EventoGratisEN();
                EntradaEN      entradaEN      = new EntradaEN();

                ComentarioEN comentarioEN = new ComentarioEN();
                PremioEN     premioEN     = new PremioEN();
                MensajeEN    mensajeEN    = new MensajeEN();

                //CEN

                UsuarioCEN       usuarioCEN       = new UsuarioCEN(_IusuarioCAD);
                AdministradorCEN administradorCEN = new AdministradorCEN(_IadministradorCAD);
                AsistenteCEN     asistenteCEN     = new AsistenteCEN(_IasistenteCAD);
                GrupoCEN         grupoCEN         = new GrupoCEN(_IgrupoCAD);

                EventoCEN       enventoCEN      = new EventoCEN(_IeventoCAD);
                EventoPagoCEN   eventoPagoCEN   = new EventoPagoCEN(_IeventoPagoCAD);
                EventoGratisCEN eventoGratisCEN = new EventoGratisCEN(_IeventoGratisCAD);
                EntradaCEN      entradaCEN      = new EntradaCEN(_IentradaCAD);

                ComentarioCEN comentarioCEN = new ComentarioCEN(_IcomentarioCAD);
                PremioCEN     premioCEN     = new PremioCEN(_IpremioCAD);
                MensajeCEN    mensajeCEN    = new MensajeCEN(_ImensajeCAD);

                //CP

                //ComentarioCP comentarioCP = new ComentarioCP();

                /* Adri aqui  se supone que hay que hacer comentarios
                 * *se supone que tienes que poner :
                 * ComentarioCP comentarioCP = new ComentarioCP();
                 *
                 * pero me da error asi que no se que hacer aqui */

                //USUARIO


                UsuarioEN usuario1EN = new UsuarioEN();

                usuario1EN.Nombre      = " Adelaida_granada";
                usuario1EN.Correo      = "*****@*****.**";
                usuario1EN.Contrasenya = "contra123";
                usuario1EN.Direccion   = "C/ el gran mazapan saltarin 1, alicante , alicante, 03160";
                usuario1EN.Foto        = "imagen.jpg";
                usuario1EN.Telefono    = 679987543;

                usuarioCEN.CrearUsuario(usuario1EN.Correo, usuario1EN.Nombre, usuario1EN.Contrasenya, usuario1EN.Foto, usuario1EN.Direccion, usuario1EN.Telefono);


                UsuarioEN usuario2EN = new UsuarioEN();

                usuario2EN.Nombre      = " Eustaquio_abichuela";
                usuario2EN.Correo      = "*****@*****.**";
                usuario2EN.Contrasenya = "contra456";
                usuario2EN.Direccion   = "C/ el gran mazapan saltarin 2, alicante , alicante, 03160";
                usuario2EN.Foto        = "imagen1.jpg";
                usuario2EN.Telefono    = 633456098;

                usuarioCEN.CrearUsuario(usuario2EN.Correo, usuario2EN.Nombre, usuario2EN.Contrasenya, usuario2EN.Foto, usuario2EN.Direccion, usuario1EN.Telefono);



                UsuarioEN usuario3EN = new UsuarioEN();

                usuario3EN.Nombre      = "Ramiro_alcachofa";
                usuario3EN.Correo      = "*****@*****.**";
                usuario3EN.Contrasenya = "contra789";
                usuario3EN.Direccion   = "C/ el gran mazapan saltarin 3, alicante , alicante, 03160";
                usuario3EN.Foto        = "imagen1.jpg";
                usuario3EN.Telefono    = 633456098;

                usuarioCEN.CrearUsuario(usuario3EN.Correo, usuario3EN.Nombre, usuario3EN.Contrasenya, usuario3EN.Foto, usuario3EN.Direccion, usuario1EN.Telefono);


                AdministradorEN admin1EN = new AdministradorEN();

                admin1EN.Correo      = "*****@*****.**";
                admin1EN.Nombre      = "Tu todopoderoso Admin 69 ";
                admin1EN.Foto        = "jisus.jpg";
                admin1EN.Contrasenya = "adminresucitalapatriatenecesita";
                admin1EN.Direccion   = " C/ El olimpo de los supremos dioses,Sector A, Olimpo, 0000";
                admin1EN.Telefono    = 666000999;

                //esto se ha cambiado de crear Administrador a crear usuario por lo que comento el profe de la sobrecargade metodos al heredar
                administradorCEN.CrearUsuario(admin1EN.Correo, admin1EN.Nombre, admin1EN.Contrasenya, admin1EN.Foto, admin1EN.Direccion, admin1EN.Telefono);



                List <String> LusuariosG = new List <string>();
                LusuariosG.Add(usuario1EN.Correo);
                LusuariosG.Add(usuario2EN.Correo);
                LusuariosG.Add(usuario3EN.Correo);



                GrupoEN grupo1EN = new GrupoEN();
                grupo1EN.Nombre = "Grupo el gran ";
                grupoCEN.CrearGrupo(grupo1EN.Nombre, LusuariosG, 14);

                MensajeEN mensaje1EN = new MensajeEN();

                mensaje1EN.Leido   = false;
                mensaje1EN.Mensaje = "Hola, este es el primer mensaje que se ha enviado en la historia de nuestra web.";

                mensajeCEN.CrearMensaje(mensaje1EN.Mensaje, mensaje1EN.Leido, usuario1EN.Correo, usuario2EN.Correo);

                ComentarioEN comentario1EN = new ComentarioEN();

                comentario1EN.Titulo = "El evento maravilloso";
                comentario1EN.Texto  = "Tras asistir a este evento  me he quedado maravillada con este concurso tan divertido, ademas he ganado el 1er puesto y el premio ha sido genial.";
                comentario1EN.Likes  = 666;


                //ComentarioCEN.crearComentario(comentario1EN.Titulo, comentario1EN.Texto, comentarioEN.Likes, usuario1EN.Correo);



                /*  EventoEN evento1EN = new EventoEN();
                 *
                 * evento1EN.Nombre = "Concurso de comilones";
                 * evento1EN.Lugar = "C/ la marsopa acuatica feliz";
                 * evento1EN.Fecha = 2018 - 012 - 09;
                 * evento1EN.Genero = 1;
                 * evento1EN.Descripcion = "Veamos quien es capaz de comer mas yogures ! ";
                 * evento1EN.Tipo = DSMGenNHibernate.Enumerated.DSM.TipoEventoEnum{ 1};
                 *
                 * EventoCEN.crearEvento();
                 *
                 * PremioEN premio1EN = new PremioEN();
                 *
                 * premio1EN.Descripcion = "1000 � para comprar yogures";
                 * premio1EN.Nombre = "mas y mas Yogures";
                 *
                 * premioCEN.CrearPremio(premio1EN.Descripcion, evento1En.id, premio1EN.Nombre, "12", "6");*/



                EventoGratisEN evento2EN = new EventoGratisEN();
                evento2EN.Nombre = "Si";
                evento2EN.Aforo  = 12;



                /*PROTECTED REGION END*/
            }
            catch (Exception ex)
            {
                System.Console.WriteLine(ex.InnerException);
                throw ex;
            }
        }
示例#5
0
        public ActionResult FiltroUsuario(FormCollection nombres, int?pag)
        {
            SessionInitialize();
            UsuarioCAD usuarioCAD = new UsuarioCAD(session);
            MensajeCAD mensajeCAD = new MensajeCAD(session);
            MensajeCEN mensajeCEN = new MensajeCEN(mensajeCAD);
            UsuarioCEN usuarioCEN = new UsuarioCEN(usuarioCAD);
            String     vista      = "";

            ArrayList Bandejas = new ArrayList();


            IList <MensajeEN> mensajesFiltrados = new List <MensajeEN>();
            IList <MensajeEN> aux = new List <MensajeEN>();

            mensajesFiltrados = mensajeCEN.ReadAll(0, -1);
            aux = mensajeCEN.ReadAll(0, -1);


            if (nombres["Bandeja"] != "" && nombres["Bandeja"] == "Recibidos")
            {
                vista = "Recibidos";
                Bandejas.Add("Recibidos");
                Bandejas.Add("Enviados");
                Bandejas.Add("Archivados");
                Bandejas.Add("Papelera");

                ViewData["Bandejas"] = Bandejas;

                foreach (MensajeEN mensaje in aux)
                {
                    if (mensaje.UsuarioReceptor.Nick != Session["usuario"].ToString() || mensaje.BandejaReceptor.ToString() != "Activo")
                    {
                        mensajesFiltrados.Remove(mensaje);
                    }
                }

                if (mensajesFiltrados.Count() == 0)
                {
                    TempData["mal"] = "¡No tienes ningún mensaje!";
                    return(View("./VistaUsuario/MisMensajes" + vista));
                }

                /*if (nombres["titulo"] != "")
                 * {
                 *  foreach(MensajeEN mensaje in aux)
                 *  {
                 *      if (mensaje.Titulo != nombres["titulo"])
                 *          mensajesFiltrados.Remove(mensaje);
                 *  }
                 *  if (mensajesFiltrados.Count() == 0)
                 *  {
                 *      TempData["mal"] = "No se ha encontrado ningún mensaje recibido con ese título.";
                 *      return View("./VistaUsuario/MisMensajes"+vista);
                 *  }
                 * }*/
            }

            if (nombres["Bandeja"] != "" && nombres["Bandeja"] == "Enviados")
            {
                vista = "Enviados";
                Bandejas.Add("Enviados");
                Bandejas.Add("Recibidos");
                Bandejas.Add("Archivados");
                Bandejas.Add("Papelera");

                ViewData["Bandejas"] = Bandejas;

                foreach (MensajeEN mensaje in aux)
                {
                    if (mensaje.UsuarioAutor.Nick != Session["usuario"].ToString() || mensaje.BandejaAutor.ToString() != "Activo")
                    {
                        mensajesFiltrados.Remove(mensaje);
                    }
                }

                if (mensajesFiltrados.Count() == 0)
                {
                    TempData["mal"] = "¡No has enviado ningún mensaje!";
                    return(View("./VistaUsuario/MisMensajes" + vista));
                }

                /*if (nombres["titulo"] != "")
                 * {
                 *  foreach (MensajeEN mensaje in aux)
                 *  {
                 *      if (mensaje.Titulo != nombres["titulo"])
                 *          mensajesFiltrados.Remove(mensaje);
                 *  }
                 *  if (mensajesFiltrados.Count() == 0)
                 *  {
                 *      TempData["mal"] = "No se ha encontrado ningún mensaje enviado con ese título.";
                 *      return View("./VistaUsuario/MisMensajes"+vista);
                 *  }
                 * }*/
            }
            if (nombres["Bandeja"] != "" && nombres["Bandeja"] == "Archivados")
            {
                vista = "Archivados";
                Bandejas.Add("Archivados");
                Bandejas.Add("Recibidos");
                Bandejas.Add("Enviados");
                Bandejas.Add("Papelera");

                ViewData["Bandejas"] = Bandejas;

                foreach (MensajeEN mensaje in aux)
                {
                    if ((mensaje.UsuarioAutor.Nick != Session["usuario"].ToString() && mensaje.UsuarioReceptor.Nick != Session["usuario"].ToString()) ||
                        (mensaje.UsuarioAutor.Nick == Session["usuario"].ToString() && mensaje.BandejaAutor.ToString() != "Archivado") ||
                        (mensaje.UsuarioReceptor.Nick == Session["usuario"].ToString() && mensaje.BandejaReceptor.ToString() != "Archivado"))
                    {
                        mensajesFiltrados.Remove(mensaje);
                    }
                }

                if (mensajesFiltrados.Count() == 0)
                {
                    TempData["mal"] = "¡No tienes ningún mensaje archivado!";
                    return(View("./VistaUsuario/MisMensajes" + vista));
                }

                /*if (nombres["titulo"] != "")
                 * {
                 *  foreach (MensajeEN mensaje in aux)
                 *  {
                 *      if (mensaje.Titulo != nombres["titulo"])
                 *          mensajesFiltrados.Remove(mensaje);
                 *  }
                 *  if (mensajesFiltrados.Count() == 0)
                 *  {
                 *      TempData["mal"] = "No se ha encontrado ningún mensaje enviado con ese título.";
                 *      return View("./VistaUsuario/MisMensajes"+vista);
                 *  }
                 * }*/
            }
            if (nombres["Bandeja"] != "" && nombres["Bandeja"] == "Papelera")
            {
                vista = "Borrados";
                Bandejas.Add("Papelera");
                Bandejas.Add("Recibidos");
                Bandejas.Add("Enviados");
                Bandejas.Add("Archivados");

                ViewData["Bandejas"] = Bandejas;

                foreach (MensajeEN mensaje in aux)
                {
                    if ((mensaje.UsuarioAutor.Nick != Session["usuario"].ToString() && mensaje.UsuarioReceptor.Nick != Session["usuario"].ToString()) ||
                        (mensaje.UsuarioAutor.Nick == Session["usuario"].ToString() && mensaje.BandejaAutor.ToString() != "Borrado") ||
                        (mensaje.UsuarioReceptor.Nick == Session["usuario"].ToString() && mensaje.BandejaReceptor.ToString() != "Borrado"))
                    {
                        mensajesFiltrados.Remove(mensaje);
                    }
                }

                if (mensajesFiltrados.Count() == 0)
                {
                    TempData["mal"] = "¡No tienes ningún mensaje en la papelera!";
                    return(View("./VistaUsuario/MisMensajes" + vista));
                }

                /*if (nombres["titulo"] != "")
                 * {
                 *  foreach (MensajeEN mensaje in aux)
                 *  {
                 *      if (mensaje.Titulo != nombres["titulo"])
                 *          mensajesFiltrados.Remove(mensaje);
                 *  }
                 *  if (mensajesFiltrados.Count() == 0)
                 *  {
                 *      TempData["mal"] = "No se ha encontrado ningún mensaje enviado con ese título.";
                 *      return View("./VistaUsuario/MisMensajes"+vista);
                 *  }
                 * }*/
            }

            int tamPag = 10;

            int numPags = (mensajesFiltrados.Count - 1) / tamPag;

            if (pag == null || pag < 0)
            {
                pag = 0;
            }
            else if (pag >= numPags)
            {
                pag = numPags;
            }

            ViewData["pag"] = pag;

            ViewData["numeroPaginas"] = numPags;

            int inicio = (int)pag * tamPag;


            IEnumerable <MensajeModel> mensajesConvertidos = new AssemblerMensajeModel().ConvertListENToModel(mensajesFiltrados).ToList();

            SessionClose();
            return(View("./VistaUsuario/MisMensajes" + vista, mensajesConvertidos));
        }
示例#6
0
        // GET: Mensaje/VistaUsuario/MisMensajes
        public ActionResult MisMensajes(int?pag)
        {
            SessionInitialize();
            UsuarioCAD usuarioCAD = new UsuarioCAD(session);
            MensajeCAD mensajeCAD = new MensajeCAD(session);
            MensajeCEN mensajeCEN = new MensajeCEN(mensajeCAD);
            UsuarioCEN usuarioCEN = new UsuarioCEN(usuarioCAD);

            ArrayList Bandejas = new ArrayList();

            Bandejas.Add("Recibidos");
            Bandejas.Add("Enviados");
            Bandejas.Add("Archivados");
            Bandejas.Add("Papelera");


            ViewData["Bandejas"] = Bandejas;

            IList <MensajeEN> mensajesFiltrados = new List <MensajeEN>();
            IList <MensajeEN> aux = new List <MensajeEN>();

            mensajesFiltrados = mensajeCEN.ReadAll(0, -1);
            aux = mensajeCEN.ReadAll(0, -1);


            if (Session["usuario"].ToString() != "")
            {
                foreach (MensajeEN mensaje in aux)
                {
                    if (mensaje.UsuarioReceptor.Nick != Session["usuario"].ToString() || mensaje.BandejaReceptor.ToString() != "Activo")
                    {
                        mensajesFiltrados.Remove(mensaje);
                    }
                }

                if (mensajesFiltrados.Count() == 0)
                {
                    TempData["mal"] = "¡No tienes ningún mensaje!";
                }
            }

            int tamPag = 10;

            int numPags = (mensajesFiltrados.Count - 1) / tamPag;

            if (pag == null || pag < 0)
            {
                pag = 0;
            }
            else if (pag >= numPags)
            {
                pag = numPags;
            }

            ViewData["pag"] = pag;

            ViewData["numeroPaginas"] = numPags;

            int inicio = (int)pag * tamPag;

            IEnumerable <MensajeModel> mensajesConvertidos = new AssemblerMensajeModel().ConvertListENToModel(mensajesFiltrados).ToList();

            SessionClose();
            return(View("./VistaUsuario/MisMensajes", mensajesConvertidos));
        }
示例#7
0
        public ActionResult FiltroAutorReceptor(FormCollection nombres, int?pag)
        {
            if (Session["usuario"] == null)
            {
                return(RedirectToAction("Login", "Sesion"));
            }
            if (Session["esAdmin"].ToString() == "false")
            {
                return(View("../NoAdministrador"));
            }
            if (Session["modoAdmin"].ToString() == "false")
            {
                Session["modoAdmin"] = "true";
            }

            SessionInitialize();
            UsuarioCAD usuarioCAD = new UsuarioCAD(session);
            MensajeCAD mensajeCAD = new MensajeCAD(session);
            MensajeCEN mensajeCEN = new MensajeCEN(mensajeCAD);
            UsuarioCEN usuarioCEN = new UsuarioCEN(usuarioCAD);

            ArrayList listaEstados = new ArrayList();

            listaEstados.Add("");

            foreach (var a in Enum.GetNames(typeof(EstadoLecturaEnum)))
            {
                listaEstados.Add(a);
            }

            /*ArrayList listaBandeja = new ArrayList();
             * listaBandeja.Add("");
             * listaBandeja.Add("Activo");
             * listaBandeja.Add("Archivado");
             * listaBandeja.Add("Borrado");*/



            ViewData["listaEstados"] = listaEstados;

            /* ViewData["listaBandejaAutor"] = listaBandeja;
             * ViewData["listaBandejaReceptor"] = listaBandeja;*/



            IList <MensajeEN> mensajesFiltrados = new List <MensajeEN>();
            IList <MensajeEN> aux = new List <MensajeEN>();

            mensajesFiltrados = mensajeCEN.ReadAll(0, -1);
            aux = mensajeCEN.ReadAll(0, -1);


            if (nombres["Titulo"] != "")
            {
                foreach (MensajeEN mensaje in aux)
                {
                    if (mensaje.Titulo != nombres["Titulo"])
                    {
                        mensajesFiltrados.Remove(mensaje);
                    }
                }

                if (mensajesFiltrados.Count() == 0)
                {
                    TempData["mal"] = "No existe ningún mensaje de título " + nombres["titulo"];
                    return(RedirectToAction("Index"));
                }

                ViewData["filtro"] = nombres["titulo"] + " (Proyecto) ";
            }

            if (nombres["NickAutor"] != "")
            {
                foreach (MensajeEN mensaje in aux)
                {
                    if (mensaje.UsuarioAutor.Nick != nombres["NickAutor"])
                    {
                        mensajesFiltrados.Remove(mensaje);
                    }
                }

                if (mensajesFiltrados.Count() == 0)
                {
                    TempData["mal"] = "El usuario " + nombres["NickAutor"] + " no existe o no ha enviado ningún mensaje";
                    return(RedirectToAction("Index"));
                }

                ViewData["filtro"] = ViewData["filtro"] + nombres["NickAutor"] + " (Autor) ";
            }



            if (nombres["NickReceptor"] != "")
            {
                foreach (MensajeEN mensaje in aux)
                {
                    if (mensaje.UsuarioReceptor.Nick != nombres["NickReceptor"])
                    {
                        mensajesFiltrados.Remove(mensaje);
                    }
                }

                if (mensajesFiltrados.Count() == 0)
                {
                    TempData["mal"] = "El usuario " + nombres["NickReceptor"] + " no existe o no ha recibido ningún mensaje";
                    return(RedirectToAction("Index"));
                }

                ViewData["filtro"] = ViewData["filtro"] + nombres["NickReceptor"] + " (Receptor) ";
            }
            if (nombres["EstadoLectura"] != "")
            {
                foreach (MensajeEN mensaje in aux)
                {
                    if (mensaje.EstadoLecutra.ToString() != nombres["EstadoLectura"])
                    {
                        mensajesFiltrados.Remove(mensaje);
                    }
                }

                if (mensajesFiltrados.Count() == 0)
                {
                    TempData["mal"] = "No hay ningún mensaje con el estado " + nombres["EstadoLectura"];
                    return(RedirectToAction("Index"));
                }

                ViewData["filtro"] = ViewData["filtro"] + nombres["EstadoLectura"] + " (Estado) ";
            }

            int tamPag = 10;

            int numPags = (mensajesFiltrados.Count - 1) / tamPag;

            if (pag == null || pag < 0)
            {
                pag = 0;
            }
            else if (pag >= numPags)
            {
                pag = numPags;
            }

            ViewData["pag"] = pag;

            ViewData["numeroPaginas"] = numPags;

            int inicio = (int)pag * tamPag;

            IEnumerable <MensajeModel> mensajesConvertidos = new AssemblerMensajeModel().ConvertListENToModel(mensajesFiltrados).ToList();

            SessionClose();
            return(View(mensajesConvertidos));
        }
        // GET: Solicitud/AdministrarSolicitudes
        public ActionResult AdministrarSolicitudes(int proyectoId, int?pag)
        {
            if (Session["usuario"] == null)
            {
                return(RedirectToAction("Login", "Sesion"));
            }

            SessionInitialize();
            UsuarioCAD   usuarioCAD   = new UsuarioCAD(session);
            MensajeCAD   solicitudCAD = new MensajeCAD(session);
            SolicitudCEN solicitudCEN = new SolicitudCEN();

            UsuarioCEN usuarioCEN = new UsuarioCEN();
            UsuarioEN  usuarioEN  = usuarioCEN.ReadNick(Session["usuario"].ToString());

            ProyectoCEN proyectoCEN = new ProyectoCEN();
            ProyectoEN  proyectoEN  = proyectoCEN.ReadOID(proyectoId);


            if (proyectoEN == null)
            {
                TempData["mal"] = "No existe ningún proyecto con la id " + proyectoId;
                return(RedirectToAction("../Proyecto/ProyectosPresentados"));
            }

            ViewData["nombreProyecto"] = proyectoEN.Nombre;
            ViewData["proyectoId"]     = proyectoId;


            IList <SolicitudEN> listaSolicitudes = new List <SolicitudEN>();
            IList <SolicitudEN> aux = new List <SolicitudEN>();

            listaSolicitudes = solicitudCEN.ReadAll(0, -1);
            aux = solicitudCEN.ReadAll(0, -1);



            //Eliminamos las solicitudes que no tengan ese proyecto
            foreach (SolicitudEN s in listaSolicitudes)
            {
                if (s.ProyectoSolicitado.Id != proyectoEN.Id)
                {
                    aux.Remove(s);
                }
            }
            ViewData["filtro"] = proyectoEN.Nombre + " (Proyecto) ";



            listaSolicitudes = aux;

            //Paginacion
            int tamPag  = 10;
            int numPags = (listaSolicitudes.Count - 1) / tamPag;

            if (pag == null || pag < 0)
            {
                pag = 0;
            }
            else if (pag >= numPags)
            {
                pag = numPags;
            }

            int inicio = (int)pag * tamPag;

            numPags = (listaSolicitudes.Count - 1) / tamPag;
            if (pag == null || pag < 0)
            {
                pag = 0;
            }
            else if (pag >= numPags)
            {
                pag = numPags;
            }

            ViewData["pag"]           = pag;
            ViewData["numeroPaginas"] = numPags;

            IEnumerable <Solicitud> solicitudes = new AssemblerSolicitud().ConvertListENToModel(listaSolicitudes).ToList();

            SessionClose();
            return(View("./VistaUsuario/AdministrarSolicitudes", solicitudes));
        }
        // POST: Solicitud/EnviarSolicitudPost/
        public ActionResult EnviarSolicitudPost(int proyectoId)
        {
            if (Session["usuario"] == null)
            {
                return(RedirectToAction("Login", "Sesion"));
            }


            UsuarioCEN usuarioCEN = new UsuarioCEN();
            UsuarioEN  usuarioEN  = usuarioCEN.ReadNick(Session["usuario"].ToString());

            ProyectoCEN proyectoCEN = new ProyectoCEN();
            ProyectoEN  proyectoEN  = proyectoCEN.ReadOID(proyectoId);

            SolicitudCEN solicitudCEN = new SolicitudCEN();

            try
            {
                SessionInitialize();
                UsuarioCAD usuarioCAD   = new UsuarioCAD(session);
                MensajeCAD solicitudCAD = new MensajeCAD(session);



                bool denegar = false;
                //No crear solicitud si ya existe una solicitud aceptada o pendiente
                foreach (SolicitudEN e in solicitudCEN.DameSolicidudesPorUsuarioYProyecto(proyectoEN.Id, usuarioEN.Id))
                {
                    if (e.Estado.ToString() == "Pendiente" || e.Estado.ToString() == "Aceptada")
                    {
                        denegar = true;
                    }
                }

                if (denegar)
                {
                    ViewData["mal"]           = "El proyecto " + proyectoEN.Nombre + " ya tiene una solicitud Pendiente o Aceptada del usuario " + usuarioEN.Nick;
                    ViewData["esParticpante"] = "true";
                    SessionClose();
                    //return RedirectToAction("../Proyecto/Detalles", proyectoEN);
                    return(View("./VistaUsuario/EnviarSolicitud", proyectoEN));
                }
                if (!denegar)
                {
                    ViewData["titulo"]        = "Se envió correctamente una solicitud al proyecto " + proyectoEN.Nombre;
                    ViewData["esParticpante"] = "true";
                }
                //Creamos solicitud
                int solicitudId = solicitudCEN.New_(usuarioEN.Id, proyectoEN.Id);
                solicitudCEN.EnviarSolicitud(solicitudId);
                SessionClose();
                //return RedirectToAction("../Proyecto/Detalles", proyectoEN);
                return(View("./VistaUsuario/EnviarSolicitud", proyectoEN));
            }
            catch
            {
                ViewData["mal"] = "Ocurrio un problema al intentar crear la solicitud ";
                SessionClose();
                //return RedirectToAction("../Proyecto/Detalles", proyectoEN);
                return(View("./VistaUsuario/EnviarSolicitud", proyectoEN));
            }
        }
        public ActionResult FiltroUsuarioProyectoEstado(int?pag, FormCollection filtro)
        {
            if (filtro == null)
            {
                //Falta el mensajito de pagina no encontraada
                return(RedirectToAction("Index"));
            }

            SessionInitialize();
            UsuarioCAD   usuarioCAD   = new UsuarioCAD(session);
            MensajeCAD   solicitudCAD = new MensajeCAD(session);
            UsuarioCEN   usuarioCEN   = new UsuarioCEN();
            ProyectoCEN  proyectoCEN  = new ProyectoCEN();
            SolicitudCEN solicitudCEN = new SolicitudCEN();

            ArrayList listaEstados = new ArrayList();

            listaEstados.Add("Todos");
            listaEstados.Add("Pendiente");
            listaEstados.Add("Aceptada");
            listaEstados.Add("Rechazada");
            ViewData["estados"] = listaEstados;

            IList <SolicitudEN> listaSolicitudes = new List <SolicitudEN>();
            IList <SolicitudEN> aux = new List <SolicitudEN>();

            listaSolicitudes = solicitudCEN.ReadAll(0, -1);
            aux = solicitudCEN.ReadAll(0, -1);

            if (filtro["proyecto"] != "")
            {
                //Optenemos el Id del proyecto por el que queremos filtrar
                ProyectoEN proyectoEN = proyectoCEN.ReadNombre(filtro["proyecto"]);
                if (proyectoEN == null)
                {
                    TempData["mal"] = "No existe ningún proyecto de nombre " + filtro["proyecto"];
                    return(RedirectToAction("Index"));
                }
                //Eliminamos las solicitudes que no tengan ese proyecto
                foreach (SolicitudEN s in listaSolicitudes)
                {
                    if (s.ProyectoSolicitado.Id != proyectoEN.Id)
                    {
                        aux.Remove(s);
                    }
                }
                ViewData["filtro"] = filtro["proyecto"] + " (Proyecto) ";
            }

            if (filtro["usuario"] != "")
            {
                //Optenemos el Id del usuario por el que queremos filtrar
                UsuarioEN usuarioEN = usuarioCEN.ReadNick(filtro["usuario"]);
                //Eliminamos las solicitudes que no tengan ese usuario
                if (usuarioEN == null)
                {
                    TempData["mal"] = "No existe ningún usuario con el Nick " + filtro["usuario"];
                    return(RedirectToAction("Index"));
                }
                foreach (SolicitudEN s in listaSolicitudes)
                {
                    if (s.UsuarioSolicitante.Id != usuarioEN.Id)
                    {
                        aux.Remove(s);
                    }
                }
                ViewData["filtro"] = ViewData["filtro"] + filtro["usuario"] + " (Usuario) ";
            }

            if (filtro["estado"] != "" && filtro["estado"] != "Todos")
            {
                //Eliminamos las solicitudes que no tengan ese estado
                foreach (SolicitudEN s in listaSolicitudes)
                {
                    if (s.Estado.ToString() != filtro["estado"])
                    {
                        aux.Remove(s);
                    }
                }
                ViewData["filtro"] = ViewData["filtro"] + filtro["estado"] + " (Estado) ";
            }
            if (listaSolicitudes.Count <= 0)
            {
                TempData["mal"] = "No hay resultados con esos filtros";
            }

            listaSolicitudes = aux;

            //Paginacion
            int tamPag  = 10;
            int numPags = (listaSolicitudes.Count - 1) / tamPag;

            if (pag == null || pag < 0)
            {
                pag = 0;
            }
            else if (pag >= numPags)
            {
                pag = numPags;
            }

            int inicio = (int)pag * tamPag;

            numPags = (listaSolicitudes.Count - 1) / tamPag;
            if (pag == null || pag < 0)
            {
                pag = 0;
            }
            else if (pag >= numPags)
            {
                pag = numPags;
            }

            ViewData["pag"]           = pag;
            ViewData["numeroPaginas"] = numPags;

            IEnumerable <Solicitud> solicitudes = new AssemblerSolicitud().ConvertListENToModel(listaSolicitudes).ToList();

            SessionClose();
            return(View(solicitudes));
        }