예제 #1
0
        //GET: Usuario/ForRol/5
        public ActionResult ForRol(UsuarioEN usuarioEN)
        {
            UsuarioCEN usuarioCEN = new UsuarioCEN();

            ArrayList listaRoles = new ArrayList();

            foreach (var a in Enum.GetNames(typeof(RolUsuarioEnum)))
            {
                listaRoles.Add(a);
            }

            ViewData["listaRoles"] = listaRoles;

            ArrayList           listaCategoriasUsuarios = new ArrayList();
            CategoriaUsuarioCEN categoriaUsuarioCEN     = new CategoriaUsuarioCEN();

            foreach (var a in categoriaUsuarioCEN.ReadAll(0, -1))
            {
                listaCategoriasUsuarios.Add(a.Nombre);
            }

            ViewData["listaCategoriasUsuarios"] = listaCategoriasUsuarios;
            ViewData["rol"] = usuarioEN.Rol;

            IList <UsuarioEN> listaUsuarios = usuarioCEN.DameUsuariosPorRol(usuarioEN.Rol);

            if (Session["usuario"] != null && Session["modoAdmin"].ToString() == "true")
            {
                return(View(listaUsuarios));
            }
            else
            {
                return(View("./VistaUsuario/ForRol", listaUsuarios));
            }
        }
예제 #2
0
        // GET: Proyecto/ProyectosPresentados/5
        public ActionResult ProyectosPresentados(int?pag)
        {
            ProyectoCEN proyectoCEN = new ProyectoCEN();

            ArrayList listaEstados = new ArrayList();

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

            ViewData["listaEstados"] = listaEstados;

            ArrayList           listaCategoriasUsuarios = new ArrayList();
            CategoriaUsuarioCEN categoriaUsuarioCEN     = new CategoriaUsuarioCEN();

            foreach (var a in categoriaUsuarioCEN.ReadAll(0, -1))
            {
                listaCategoriasUsuarios.Add(a.Nombre);
            }

            ViewData["listaCategoriasU"] = listaCategoriasUsuarios;

            ArrayList            listaCategoriasProyectos = new ArrayList();
            CategoriaProyectoCEN categoriaProyectoCEN     = new CategoriaProyectoCEN();

            foreach (var a in categoriaProyectoCEN.ReadAll(0, -1))
            {
                listaCategoriasProyectos.Add(a.Nombre);
            }

            ViewData["listaCategoriasP"] = listaCategoriasProyectos;

            int tamPag = 10;

            int numPags = (proyectoCEN.ReadAll(0, -1).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;

            IList <ProyectoEN> listaProyectos = proyectoCEN.ReadAll(inicio, tamPag).ToList();

            return(View("./VistaUsuario/ProyectosPresentados", listaProyectos));
        }
예제 #3
0
        // GET: Usuario
        public ActionResult Index(int?pag)
        {
            UsuarioCEN usuarioCEN = new UsuarioCEN();

            ArrayList listaRoles = new ArrayList();

            foreach (var a in Enum.GetNames(typeof(RolUsuarioEnum)))
            {
                listaRoles.Add(a);
            }

            ViewData["listaRoles"] = listaRoles;

            ArrayList           listaCategoriasUsuarios = new ArrayList();
            CategoriaUsuarioCEN categoriaUsuarioCEN     = new CategoriaUsuarioCEN();

            foreach (var a in categoriaUsuarioCEN.ReadAll(0, -1))
            {
                listaCategoriasUsuarios.Add(a.Nombre);
            }

            ViewData["listaCategoriasUsuarios"] = listaCategoriasUsuarios;

            int tamPag = 10;

            int numPags = (usuarioCEN.ReadAll(0, -1).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;

            IList <UsuarioEN> listaUsuarios = usuarioCEN.ReadAll(inicio, tamPag).ToList();

            if (Session["usuario"] != null && Session["modoAdmin"].ToString() == "true")
            {
                return(View(listaUsuarios));
            }
            else
            {
                return(View("./VistaUsuario/Listado", listaUsuarios));
            }
        }
예제 #4
0
        // GET: CategoriaUsuario
        public ActionResult Index(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";
            }

            CategoriaUsuarioCEN categoriaUsuarioCEN = new CategoriaUsuarioCEN();

            int tamPag = 10;

            int numPags = (categoriaUsuarioCEN.ReadAll(0, -1).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;

            IList <CategoriaUsuarioEN> listaCategoriasUsuarios = categoriaUsuarioCEN.ReadAll(inicio, tamPag).ToList();

            return(View(listaCategoriasUsuarios));
        }
예제 #5
0
        //GET: Proyecto/ForCategoriaUsuario/5
        public ActionResult ForCategoriaUsuario(FormCollection formCollection)
        {
            ProyectoCEN proyectoCEN = new ProyectoCEN();

            ArrayList listaEstados = new ArrayList();

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

            ViewData["listaEstados"] = listaEstados;

            ArrayList           listaCategoriasUsuarios = new ArrayList();
            CategoriaUsuarioCEN categoriaUsuarioCEN     = new CategoriaUsuarioCEN();

            foreach (var a in categoriaUsuarioCEN.ReadAll(0, -1))
            {
                listaCategoriasUsuarios.Add(a.Nombre);
            }

            ViewData["listaCategoriasU"] = listaCategoriasUsuarios;

            ArrayList            listaCategoriasProyectos = new ArrayList();
            CategoriaProyectoCEN categoriaProyectoCEN     = new CategoriaProyectoCEN();

            foreach (var a in categoriaProyectoCEN.ReadAll(0, -1))
            {
                listaCategoriasProyectos.Add(a.Nombre);
            }

            ViewData["listaCategoriasP"] = listaCategoriasProyectos;

            string nombre = formCollection["categoriaU"];

            int id = categoriaUsuarioCEN.ReadNombre(nombre).Id;

            ViewData["categoria"] = nombre;

            IList <ProyectoEN> listaProyectos = proyectoCEN.DameProyectosPorCategoriaUsuario(id);

            if (Session["modoAdmin"] != null && Session["modoAdmin"].ToString() == "true")
            {
                return(View(listaProyectos));
            }
            else
            {
                return(View("./VistaUsuario/ProyectosPresentados", listaProyectos));
            }
        }
예제 #6
0
        // GET: Usuario/Details/5
        public ActionResult Details(int id)
        {
            if (Session["usuario"] == null)
            {
                return(RedirectToAction("Login", "Sesion"));
            }
            if (Session["esAdmin"].ToString() == "false")
            {
                return(View("../NoAdministrador"));
            }
            if (Session["modoAdmin"].ToString() == "false")
            {
                Session["modoAdmin"] = "true";
            }

            UsuarioCAD usuarioCAD = new UsuarioCAD(session);
            UsuarioCEN usuarioCEN = new UsuarioCEN(usuarioCAD);
            UsuarioEN  usuarioEN  = usuarioCEN.ReadOID(id);

            ArrayList                 listaCatesE = new ArrayList();
            ArrayList                 listaCatesA = new ArrayList();
            CategoriaUsuarioCEN       categorias  = new CategoriaUsuarioCEN();
            List <CategoriaUsuarioEN> cat         = categorias.ReadAll(0, -1).ToList();

            foreach (CategoriaUsuarioEN a in cat)
            {
                if (!usuarioEN.CategoriasUsuarios.Contains(a))
                {
                    listaCatesA.Add(a.Nombre);
                }
                else
                {
                    listaCatesE.Add(a.Nombre);
                }
            }
            ViewData["listaCategoriasAgregar"]  = listaCatesA;
            ViewData["listaCategoriasEliminar"] = listaCatesE;
            ViewData["usuario"] = usuarioEN.Nick;

            return(View(usuarioEN));
        }
예제 #7
0
        // GET: Usuario/Detalles/5
        public ActionResult Detalles(string nick)
        {
            UsuarioCAD usuarioCAD = new UsuarioCAD(session);
            UsuarioCEN usuarioCEN = new UsuarioCEN(usuarioCAD);
            UsuarioEN  usuarioEN  = usuarioCEN.ReadNick(nick);

            ArrayList                 listaCatesE = new ArrayList();
            CategoriaUsuarioCEN       categorias  = new CategoriaUsuarioCEN();
            List <CategoriaUsuarioEN> cat         = categorias.ReadAll(0, -1).ToList();

            foreach (CategoriaUsuarioEN a in cat)
            {
                if (usuarioEN.CategoriasUsuarios.Contains(a))
                {
                    listaCatesE.Add(a.Nombre);
                }
            }
            ViewData["listaCategoriasEliminar"] = listaCatesE;

            return(View("./VistaUsuario/Detalles", usuarioEN));
        }
예제 #8
0
        //GET: Usuario/ForCategoria/5
        public ActionResult ForCategoria(FormCollection formCollection)
        {
            UsuarioCEN usuarioCEN = new UsuarioCEN();

            ArrayList listaRoles = new ArrayList();

            foreach (var a in Enum.GetNames(typeof(RolUsuarioEnum)))
            {
                listaRoles.Add(a);
            }

            ViewData["listaRoles"] = listaRoles;

            ArrayList           listaCategoriasUsuarios = new ArrayList();
            CategoriaUsuarioCEN categoriaUsuarioCEN     = new CategoriaUsuarioCEN();

            foreach (var a in categoriaUsuarioCEN.ReadAll(0, -1))
            {
                listaCategoriasUsuarios.Add(a.Nombre);
            }

            ViewData["listaCategoriasUsuarios"] = listaCategoriasUsuarios;

            string nombre = formCollection["categoria"];

            int id = categoriaUsuarioCEN.ReadNombre(nombre).Id;

            ViewData["categoria"] = nombre;

            IList <UsuarioEN> listaUsuarios = usuarioCEN.DameUsuariosPorCategoria(id);

            if (Session["usuario"] != null && Session["modoAdmin"].ToString() == "true")
            {
                return(View(listaUsuarios));
            }
            else
            {
                return(View("./VistaUsuario/ForCategoria", listaUsuarios));
            }
        }
예제 #9
0
        // GET: Proyecto/Details/5
        public ActionResult Detalles(int id)
        {
            ProyectoCAD proyectoCAD = new ProyectoCAD(session);
            ProyectoCEN proyectoCEN = new ProyectoCEN(proyectoCAD);
            ProyectoEN  proyectoEN  = proyectoCEN.ReadOID(id);

            ArrayList listaCatesE = new ArrayList();
            ArrayList listaCatesA = new ArrayList();

            CategoriaUsuarioCEN       categorias = new CategoriaUsuarioCEN();
            List <CategoriaUsuarioEN> cat        = categorias.ReadAll(0, -1).ToList();

            foreach (CategoriaUsuarioEN a in cat)
            {
                if (!proyectoEN.CategoriasBuscadas.Contains(a))
                {
                    listaCatesA.Add(a.Nombre);
                }
                else
                {
                    listaCatesE.Add(a.Nombre);
                }
            }
            ViewData["listaCategoriasUsuarioAgregar"]  = listaCatesA;
            ViewData["listaCategoriasUsuarioEliminar"] = listaCatesE;

            listaCatesE = new ArrayList();
            listaCatesA = new ArrayList();
            CategoriaProyectoCEN       categoriasProyectos = new CategoriaProyectoCEN();
            List <CategoriaProyectoEN> catPro = categoriasProyectos.ReadAll(0, -1).ToList();

            foreach (CategoriaProyectoEN a in catPro)
            {
                if (!proyectoEN.CategoriasProyectos.Contains(a))
                {
                    listaCatesA.Add(a.Nombre);
                }
                else
                {
                    listaCatesE.Add(a.Nombre);
                }
            }
            ViewData["listaCategoriasProyectoAgregar"]  = listaCatesA;
            ViewData["listaCategoriasProyectoEliminar"] = listaCatesE;

            ViewData["titulo"]  = proyectoEN.Nombre;
            ViewData["creador"] = proyectoEN.UsuarioCreador.Nick;

            ArrayList listaUsuarios = new ArrayList();

            foreach (UsuarioEN u in proyectoEN.UsuariosModeradores)
            {
                listaUsuarios.Add(u.Nick);
            }
            if (listaUsuarios.Contains(Session["usuario"]))
            {
                ViewData["esModerador"] = "true";
            }
            ViewData["listaModeradores"] = listaUsuarios;

            listaUsuarios = new ArrayList();
            foreach (UsuarioEN u in proyectoEN.UsuariosParticipantes)
            {
                listaUsuarios.Add(u.Nick);
            }
            if (Session["usuario"] != null && !listaUsuarios.Contains(Session["usuario"]))
            {
                ViewData["noParticpante"] = "true";
            }
            ViewData["listaParticipantes"] = listaUsuarios;

            return(View("./VistaUsuario/Detalles", proyectoEN));
        }
예제 #10
0
        // GET: Proyecto
        public ActionResult Index(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";
            }

            ProyectoCEN proyectoCEN = new ProyectoCEN();

            ArrayList listaEstados = new ArrayList();

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

            ViewData["listaEstados"] = listaEstados;

            ArrayList           listaCategoriasUsuarios = new ArrayList();
            CategoriaUsuarioCEN categoriaUsuarioCEN     = new CategoriaUsuarioCEN();

            foreach (var a in categoriaUsuarioCEN.ReadAll(0, -1))
            {
                listaCategoriasUsuarios.Add(a.Nombre);
            }

            ViewData["listaCategoriasU"] = listaCategoriasUsuarios;

            ArrayList            listaCategoriasProyectos = new ArrayList();
            CategoriaProyectoCEN categoriaProyectoCEN     = new CategoriaProyectoCEN();

            foreach (var a in categoriaProyectoCEN.ReadAll(0, -1))
            {
                listaCategoriasProyectos.Add(a.Nombre);
            }

            ViewData["listaCategoriasP"] = listaCategoriasProyectos;

            int tamPag = 10;

            int numPags = (proyectoCEN.ReadAll(0, -1).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;

            IList <ProyectoEN> listaProyectos = proyectoCEN.ReadAll(inicio, tamPag).ToList();

            return(View(listaProyectos));
        }
예제 #11
0
        // GET: Proyecto/Details/5
        public ActionResult Details(int id)
        {
            if (Session["usuario"] == null)
            {
                return(RedirectToAction("Login", "Sesion"));
            }
            if (Session["esAdmin"].ToString() == "false")
            {
                return(View("../NoAdministrador"));
            }
            if (Session["modoAdmin"].ToString() == "false")
            {
                Session["modoAdmin"] = "true";
            }

            ProyectoCAD proyectoCAD = new ProyectoCAD(session);
            ProyectoCEN proyectoCEN = new ProyectoCEN(proyectoCAD);
            ProyectoEN  proyectoEN  = proyectoCEN.ReadOID(id);

            ArrayList listaCatesE = new ArrayList();
            ArrayList listaCatesA = new ArrayList();

            CategoriaUsuarioCEN       categorias = new CategoriaUsuarioCEN();
            List <CategoriaUsuarioEN> cat        = categorias.ReadAll(0, -1).ToList();

            foreach (CategoriaUsuarioEN a in cat)
            {
                if (!proyectoEN.CategoriasBuscadas.Contains(a))
                {
                    listaCatesA.Add(a.Nombre);
                }
                else
                {
                    listaCatesE.Add(a.Nombre);
                }
            }
            ViewData["listaCategoriasUsuarioAgregar"]  = listaCatesA;
            ViewData["listaCategoriasUsuarioEliminar"] = listaCatesE;

            listaCatesE = new ArrayList();
            listaCatesA = new ArrayList();
            CategoriaProyectoCEN       categoriasProyectos = new CategoriaProyectoCEN();
            List <CategoriaProyectoEN> catPro = categoriasProyectos.ReadAll(0, -1).ToList();

            foreach (CategoriaProyectoEN a in catPro)
            {
                if (!proyectoEN.CategoriasProyectos.Contains(a))
                {
                    listaCatesA.Add(a.Nombre);
                }
                else
                {
                    listaCatesE.Add(a.Nombre);
                }
            }
            ViewData["listaCategoriasProyectoAgregar"]  = listaCatesA;
            ViewData["listaCategoriasProyectoEliminar"] = listaCatesE;

            ViewData["titulo"]  = proyectoEN.Nombre;
            ViewData["creador"] = proyectoEN.UsuarioCreador.Nombre + " (" + proyectoEN.UsuarioCreador.Nick + ")";
            return(View(proyectoEN));
        }
예제 #12
0
        public ActionResult Modificar(int id, FormCollection formCollection, HttpPostedFileBase file)
        {
            if (Session["usuario"] == null)
            {
                return(RedirectToAction("Login", "Sesion"));
            }

            try
            {
                UsuarioCAD usuarioCAD = new UsuarioCAD(session);
                UsuarioCEN usuarioCEN = new UsuarioCEN(usuarioCAD);
                UsuarioEN  usuarioEN  = usuarioCEN.ReadOID(id);

                if (usuarioCEN.Login(id, formCollection["Password"]) != null)
                {
                    string fileName = "", path = "";
                    if (file != null && file.ContentLength > 0)
                    {
                        fileName = Path.GetFileName(file.FileName);
                        path     = Path.Combine(Server.MapPath("~/Imagenes"), fileName);
                        if (!System.IO.File.Exists(path))
                        {
                            file.SaveAs(path);
                        }
                        file.SaveAs(path);
                        fileName = "/Imagenes/" + fileName;
                    }

                    if (formCollection["Nombre"] == "" || formCollection["Nick"] == "" || formCollection["Email"] == "")
                    {
                        ViewData["CamposVacios"] = "El nombre, nick o email no pueden ser vacíos.";
                        return(View("./VistaUsuario/Modificar", usuarioEN));
                    }


                    //VALIDANDO NOMBRE
                    Regex pattern = new Regex("^[A-Za-z áéíóúñç]{1,50}$");
                    if (!pattern.IsMatch(formCollection["Nombre"]))
                    {
                        ViewData["FormatoNombreUsuario"] = "mal";
                        return(View("./VistaUsuario/Modificar", usuarioEN));
                    }

                    //VALIDANDO CONTRASENA
                    pattern = new Regex("^[A-Za-z.-_0-9]{4,15}$");
                    if (formCollection["newpass"] == "")
                    {
                        formCollection["newpass"] = formCollection["Password"];
                    }
                    else if (!pattern.IsMatch(formCollection["newpass"]))
                    {
                        ViewData["FormatoContrasenaUsuario"] = "De 4 a 15 caracteres. Letras del alfabeto inglés, números y símbolos . - _";
                        return(View("./VistaUsuario/Modificar", usuarioEN));
                    }


                    //VALIDANDO EMAIL
                    pattern = new Regex("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4})$");
                    if (!pattern.IsMatch(formCollection["Email"]))
                    {
                        ViewData["FormatoEmailUsuario"] = "El formato del email no es correcto. Ej: [email protected]";
                        return(View("./VistaUsuario/Modificar", usuarioEN));
                    }

                    //VALIDANDO NICK
                    pattern = new Regex("^[A-Za-z.-_]{4,15}$");
                    UsuarioEN validando = usuarioCEN.ReadNick(usuarioEN.Nick);
                    if (validando == null)
                    {
                        if (!pattern.IsMatch(formCollection["Nick"]))
                        {
                            ViewData["FormatoNickUsuario"] = "De 4 a 15 caracteres. Solo letras del alfabeto inglés. Se aceptan los simbolos .-_";
                            return(View("./VistaUsuario/Modificar", usuarioEN));
                        }
                        if (usuarioCEN.ReadNick(formCollection["Nick"]) != null)
                        {
                            ViewData["NickExiste"] = "Este nick ya existe";

                            return(View("./VistaUsuario/Modificar", usuarioEN));
                        }
                        Session["usuario"] = usuarioEN.Nick;
                    }


                    if (fileName != "")
                    {
                        usuarioCEN.Modify(id, formCollection["Nombre"], formCollection["newpass"], formCollection["Email"], formCollection["Nick"], fileName);
                    }
                    else
                    {
                        usuarioCEN.Modify(id, formCollection["Nombre"], formCollection["newpass"], formCollection["Email"], formCollection["Nick"], "/Imagenes/NoFoto.png");
                    }

                    if (formCollection["Nick"].ToString() != Session["usuario"].ToString())
                    {
                        Session["usuario"] = formCollection["Nick"];
                    }

                    ArrayList                 listaCatesE = new ArrayList();
                    CategoriaUsuarioCEN       categorias  = new CategoriaUsuarioCEN();
                    List <CategoriaUsuarioEN> cat         = categorias.ReadAll(0, -1).ToList();


                    foreach (CategoriaUsuarioEN a in cat)
                    {
                        if (usuarioEN.CategoriasUsuarios.Contains(a))
                        {
                            listaCatesE.Add(a.Nombre);
                        }
                    }
                    ViewData["listaCategoriasEliminar"] = listaCatesE;
                    TempData["Modificar"] = "Tu perfil ha modificado";
                    return(View("./VistaUsuario/Detalles", usuarioEN));
                }
                ViewData["error"] = "La contraseña introducida no es correcta";
                return(View("./VistaUsuario/Modificar", usuarioEN));
            }
            catch
            {
                ViewData["error2"] = "Ha ocurrido un error y no se ha podido editar el usuario.";
                return(View());
            }
        }
예제 #13
0
        public static void InitializeData()
        {
            /*PROTECTED REGION ID(initializeDataMethod) ENABLED START*/
            try
            {
                // Insert the initilizations of entities using the CEN classes

                /*USUARIOS*/
                UsuarioCEN usuarioCEN = new UsuarioCEN();
                int        OIDUsuario = usuarioCEN.New_("Judith", "12345", null, "*****@*****.**", "BenhMM");
                usuarioCEN.Modify(OIDUsuario, "Victor", "54321", "*****@*****.**", "Nedyar94", null);
                Console.WriteLine("Login key: " + usuarioCEN.Login(OIDUsuario, "dsfsdfgdsf"));
                //int OIDUsuarioABorrar = usuarioCEN.New_ ("Judith", "12345", null, "*****@*****.**", "BenhasdfasdfMM");
                // en lugar de destroy tiene cambiar rol usuarioCEN.Destroy (OIDUsuarioABorrar);
                usuarioCEN.CambiarRol(OIDUsuario, MultitecUAGenNHibernate.Enumerated.MultitecUA.RolUsuarioEnum.Administrador);
                Console.WriteLine("Administradores: " + usuarioCEN.DameUsuariosPorRol(MultitecUAGenNHibernate.Enumerated.MultitecUA.RolUsuarioEnum.Administrador).Count);
                Console.WriteLine("Usuarios por nick: " + usuarioCEN.ReadNick("Nedyar94"));

                /*CATEGORIAS DE USUARIOS*/
                CategoriaUsuarioCEN categoriaUsuarioCEN = new CategoriaUsuarioCEN();

                List <int> OIDsCategorias = new List <int>();
                int        OIDCategoria   = categoriaUsuarioCEN.New_("Programado");
                categoriaUsuarioCEN.Modify(OIDCategoria, "Programador");
                OIDsCategorias.Add(OIDCategoria);
                OIDCategoria = categoriaUsuarioCEN.New_("Dise�ador");
                OIDsCategorias.Add(OIDCategoria);
                OIDCategoria = categoriaUsuarioCEN.New_("Puto Amo");
                OIDsCategorias.Add(OIDCategoria);

                categoriaUsuarioCEN.Modify(OIDCategoria, "Putisimo Amo");

                //categoriaUsuarioCEN.Destroy (OIDCategoria);

                Console.WriteLine("Categoria Usuario con OID " + OIDCategoria + ": " + categoriaUsuarioCEN.ReadOID(OIDCategoria).Id);
                usuarioCEN.AgregaCategorias(OIDUsuario, OIDsCategorias);

                OIDsCategorias.RemoveAt(2);
                usuarioCEN.EliminaCategorias(OIDUsuario, OIDsCategorias);

                Console.WriteLine("Usuarios por categoria: " + usuarioCEN.DameUsuariosPorCategoria(OIDCategoria).Count);

                Console.WriteLine("Usuarios totales: " + usuarioCEN.ReadAll(0, -1).Count);
                Console.WriteLine("Usuario con OID " + OIDUsuario + ": " + usuarioCEN.ReadOID(OIDUsuario).Id);
                Console.WriteLine("Categorias Usuarios totales: " + categoriaUsuarioCEN.ReadAll(0, -1).Count);
                Console.WriteLine("Categoria Usuario con OID " + OIDCategoria + ": " + categoriaUsuarioCEN.ReadOID(OIDCategoria).Id);

                CategoriaUsuarioCP categoriaUsuarioCP = new CategoriaUsuarioCP();
                categoriaUsuarioCP.Destroy(OIDCategoria);
                Console.WriteLine("Usuario con OID " + OIDUsuario + ": " + usuarioCEN.ReadOID(OIDUsuario).Id);
                Console.WriteLine("Categorias Usuarios totales: " + categoriaUsuarioCEN.ReadAll(0, -1).Count);

                /*PROYECTO*/
                ProyectoCEN proyectoCEN        = new ProyectoCEN();
                int         OIDProyecto        = proyectoCEN.New_("APPANIC", "App que te ayuda en la vida", OIDUsuario, null);
                ProyectoCP  proyectoCP         = new ProyectoCP();
                int         OIDProyectoABorrar = proyectoCEN.New_("APPANICasdasd", "App que te ayuda en la vida", OIDUsuario, null);

                int aux = usuarioCEN.New_("Sergio", "12345", null, "*****@*****.**", "Yupipi93");
                usuarioCEN.CambiarRol(aux, MultitecUAGenNHibernate.Enumerated.MultitecUA.RolUsuarioEnum.MiembroHonor);
                List <int> aaux = new List <int>();
                aaux.Add(aux);
                proyectoCP.AgregaParticipantes(OIDProyecto, aaux);
                proyectoCP.AgregaModeradores(OIDProyecto, aaux);
                proyectoCP.EliminaModeradores(OIDProyecto, aaux);
                aaux [0] = usuarioCEN.New_("Judith", "12345", null, "*****@*****.**", "BenhMM");
                proyectoCP.AgregaParticipantes(OIDProyecto, aaux);
                proyectoCP.EliminaParticipantes(OIDProyecto, aaux);
                proyectoCP.Modify(OIDProyecto, "APPPanic", "App que te ayuda en la vida", null);

                proyectoCEN.CambiarEstado(OIDProyecto, MultitecUAGenNHibernate.Enumerated.MultitecUA.EstadoProyectoEnum.EnDesarrollo);
                Console.WriteLine("Proyectos por estado: " + proyectoCEN.DameProyectosPorEstado(MultitecUAGenNHibernate.Enumerated.MultitecUA.EstadoProyectoEnum.EnDesarrollo).Count);

                Console.WriteLine("Proyectos usuario pertenece: " + proyectoCEN.DameProyectosUsuarioPertenece(OIDUsuario).Count);

                Console.WriteLine("Participantes proyecto: " + usuarioCEN.DameParticipantesProyecto(OIDProyecto).Count);
                Console.WriteLine("Moderadores proyecto: " + usuarioCEN.DameModeradoresProyecto(OIDProyecto).Count);

                Console.WriteLine("Usuarios: " + usuarioCEN.DameUsuariosPorRol(MultitecUAGenNHibernate.Enumerated.MultitecUA.RolUsuarioEnum.Miembro).Count);
                Console.WriteLine("Miembros de honor: " + usuarioCEN.DameUsuariosPorRol(MultitecUAGenNHibernate.Enumerated.MultitecUA.RolUsuarioEnum.MiembroHonor).Count);


                Console.WriteLine("Proyecto con OID " + OIDProyecto + ": " + proyectoCEN.ReadOID(OIDProyecto).Id);



                /*CATEGORIA PROYECTO*/
                CategoriaProyectoCEN categoriaProyectoCEN = new CategoriaProyectoCEN();

                List <int> listaCategoriasProyecto = new List <int>();

                int OIDCategoriaProyecto = categoriaProyectoCEN.New_("Salu");
                categoriaProyectoCEN.Modify(OIDCategoriaProyecto, "Salud");
                listaCategoriasProyecto.Add(OIDCategoriaProyecto);
                OIDCategoriaProyecto = categoriaProyectoCEN.New_("Tecnologico");
                listaCategoriasProyecto.Add(OIDCategoriaProyecto);
                OIDCategoriaProyecto = categoriaProyectoCEN.New_("Puto Amo2");
                listaCategoriasProyecto.Add(OIDCategoriaProyecto);
                proyectoCEN.AgregaCategoriasProyecto(OIDProyecto, listaCategoriasProyecto);

                listaCategoriasProyecto.RemoveAt(2);
                proyectoCEN.EliminaCategoriasProyecto(OIDProyecto, listaCategoriasProyecto);
                Console.WriteLine("Proyectos por categoria: " + proyectoCEN.DameProyectosPorCategoria(OIDCategoriaProyecto).Count);

                proyectoCEN.AgregaCategoriasUsuario(OIDProyecto, OIDsCategorias);
                OIDsCategorias.RemoveAt(0);
                proyectoCEN.EliminaCategoriasUsuario(OIDProyecto, OIDsCategorias);

                Console.WriteLine("Categorias Proyecto totales: " + categoriaProyectoCEN.ReadAll(0, -1).Count);
                Console.WriteLine("Categoria Proyecto con OID " + OIDCategoriaProyecto + ": " + categoriaProyectoCEN.ReadOID(OIDCategoriaProyecto).Id);

                CategoriaProyectoCP categoriaProyectoCP = new CategoriaProyectoCP();
                categoriaProyectoCP.Destroy(OIDCategoriaProyecto);



                /*EVENTOS*/
                EventoCEN eventoCEN = new EventoCEN();
                int       OIDEvento = eventoCEN.New_("Evento1", "El Mas guay", DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, null);
                eventoCEN.PublicaEvento(OIDEvento);
                int OIDEventoABorrar = eventoCEN.New_("EventoABorrar", "El Mas guay", DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, null);
                eventoCEN.PublicaEvento(OIDEventoABorrar);
                EventoCP eventoCP = new EventoCP();
                eventoCEN.AgregaCategorias(OIDEvento, listaCategoriasProyecto);
                listaCategoriasProyecto.RemoveAt(0);
                eventoCEN.EliminaCategorias(OIDEvento, listaCategoriasProyecto);

                List <int> listaEventos = new List <int>();
                listaEventos.Add(OIDEvento);
                listaEventos.Add(OIDEventoABorrar);

                proyectoCP.AgregaEventos(OIDProyecto, listaEventos);
                Console.WriteLine("Eventos por proyecto: " + eventoCEN.DameEventosPorProyecto(OIDProyecto).Count);

                Console.WriteLine("Proyectos por evento: " + proyectoCEN.DameProyectosPorEvento(OIDEvento).Count);
                eventoCP.Modify(OIDEvento, "Evento", "El Mas guay", DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, null);
                //eventoCP.Destroy (OIDEventoABorrar);

                listaEventos.Remove(OIDEventoABorrar);

                proyectoCP.EliminaEventos(OIDProyecto, listaEventos);

                Console.WriteLine("Eventos filtrados: " + eventoCEN.DameEventosFiltrados(-1, DateTime.Parse("01/01/2030"), null).Count);

                Console.WriteLine("Eventos totales: " + eventoCEN.ReadAll(0, -1).Count);
                Console.WriteLine("Evento con OID " + OIDEvento + ": " + eventoCEN.ReadOID(OIDEvento).Id);


                /*SOLICITUD*/

                SolicitudCEN solicitudCEN = new SolicitudCEN();
                int          OIDSolicitud = solicitudCEN.New_(OIDUsuario, OIDProyecto);
                solicitudCEN.Aceptar(OIDSolicitud);
                solicitudCEN.Rechazar(OIDSolicitud);


                int OIDSolicitud2 = solicitudCEN.New_(OIDUsuario, OIDProyecto);
                solicitudCEN.Aceptar(OIDSolicitud2);

                solicitudCEN.New_(OIDUsuario, OIDProyecto);

                //Filtros de SOLICITUD
                Console.WriteLine("DameSolicitudesPorProyectoYEstado: " + solicitudCEN.DameSolicitudesPorProyectoYEstado(OIDProyecto, MultitecUAGenNHibernate.Enumerated.MultitecUA.EstadoSolicitudEnum.Aceptada).Count);
                Console.WriteLine("DameSolicitudesPorUsuarioYEstado: " + solicitudCEN.DameSolicitudesPorUsuarioYEstado(OIDUsuario, MultitecUAGenNHibernate.Enumerated.MultitecUA.EstadoSolicitudEnum.Aceptada).Count);
                Console.WriteLine("DameSolicidudesPorUsuarioYProyecto: " + solicitudCEN.DameSolicidudesPorUsuarioYProyecto(OIDProyecto, OIDUsuario).Count);
                Console.WriteLine("DameSolicitudesPendientesPorProyectoDe: " + solicitudCEN.DameSolicitudesPendientesPorProyectoDeUsuario(OIDProyecto, OIDUsuario).Count);

                solicitudCEN.EnviarSolicitud(OIDSolicitud2);

                solicitudCEN.Destroy(OIDSolicitud);

                Console.WriteLine("Solicitud con OID " + OIDSolicitud2 + ": " + solicitudCEN.ReadOID(OIDSolicitud2).Id);
                Console.WriteLine("Solicitudes totales: " + solicitudCEN.ReadAll(0, -1).Count);


                Console.WriteLine("Proyecto con OID " + OIDProyecto + ": " + proyectoCEN.ReadOID(OIDProyecto).Id);
                proyectoCP.Destroy(OIDProyecto);
                Console.WriteLine("Proyectos totales: " + proyectoCEN.ReadAll(0, -1).Count);



                /*MENSAJES*/
                MensajeCEN mensajeCEN = new MensajeCEN();
                int        OIDMensaje = mensajeCEN.New_("Esto es un mensaje", "Mi primerito mensaje", OIDUsuario, OIDUsuario, null);

                Console.WriteLine("Mensajes por receptor: " + mensajeCEN.DameMensajesPorReceptor(OIDUsuario).Count);

                Console.WriteLine("Mensajes por autor: " + mensajeCEN.DameMensajesPorAutor(OIDUsuario).Count);

                mensajeCEN.CambiarEstado(OIDMensaje, MultitecUAGenNHibernate.Enumerated.MultitecUA.EstadoLecturaEnum.Leido);

                Console.WriteLine("Mensajes por autor filtrados (Archivados) : " + mensajeCEN.DameMensajesPorAutorFiltrados(OIDUsuario, DateTime.Parse("01/01/2030"), DateTime.Parse("01/01/1800"), MultitecUAGenNHibernate.Enumerated.MultitecUA.BandejaMensajeEnum.Archivado).Count);
                Console.WriteLine("Mensajes por receptor filtrados (Archivados) : " + mensajeCEN.DameMensajesPorReceptorFiltrados(OIDUsuario, DateTime.Parse("01/01/2030"), DateTime.Parse("01/01/1800"), MultitecUAGenNHibernate.Enumerated.MultitecUA.BandejaMensajeEnum.Archivado).Count);

                mensajeCEN.CambiarBandejaAutor(OIDMensaje, MultitecUAGenNHibernate.Enumerated.MultitecUA.BandejaMensajeEnum.Archivado);
                mensajeCEN.CambiarBandejaReceptor(OIDMensaje, MultitecUAGenNHibernate.Enumerated.MultitecUA.BandejaMensajeEnum.Archivado);

                Console.WriteLine("Mensajes por autor filtrados (Archivados) : " + mensajeCEN.DameMensajesPorAutorFiltrados(OIDUsuario, DateTime.Parse("01/01/2030"), DateTime.Parse("01/01/1800"), MultitecUAGenNHibernate.Enumerated.MultitecUA.BandejaMensajeEnum.Archivado).Count);
                Console.WriteLine("Mensajes por receptor filtrados (Archivados) : " + mensajeCEN.DameMensajesPorReceptorFiltrados(OIDUsuario, DateTime.Parse("01/01/2030"), DateTime.Parse("01/01/1800"), MultitecUAGenNHibernate.Enumerated.MultitecUA.BandejaMensajeEnum.Archivado).Count);

                mensajeCEN.EnviarMensaje(OIDMensaje);

                Console.WriteLine("Mensajes totales: " + mensajeCEN.ReadAll(0, -1).Count);
                Console.WriteLine("Mensajes con OID " + OIDMensaje + ": " + mensajeCEN.ReadOID(OIDMensaje).Id);

                mensajeCEN.Destroy(OIDMensaje);


                /*SERVICIOS*/
                ServicioCEN servicioCEN = new ServicioCEN();
                int         OIDServicio = servicioCEN.New_("Hosting", "Servicio de alojamiento web", MultitecUAGenNHibernate.Enumerated.MultitecUA.EstadoServicioEnum.Disponible, null);
                servicioCEN.Modify(OIDServicio, "Hosting Ilimitado", "Servicio de alojamiento web sin limites", MultitecUAGenNHibernate.Enumerated.MultitecUA.EstadoServicioEnum.Disponible, null);
                OIDServicio = servicioCEN.New_("Prueba", "Probando el insertar mas servicios para ver si funciona la fecha", MultitecUAGenNHibernate.Enumerated.MultitecUA.EstadoServicioEnum.NoDisponible, null);
                OIDServicio = servicioCEN.New_("Borrar", "Pues... Aqui voy a probar que funcione el destroy", MultitecUAGenNHibernate.Enumerated.MultitecUA.EstadoServicioEnum.Disponible, null);
                servicioCEN.Destroy(OIDServicio);
                OIDServicio = servicioCEN.New_("Borrar2", "Este realmente se va a quedar", MultitecUAGenNHibernate.Enumerated.MultitecUA.EstadoServicioEnum.Disponible, null);
                IList <ServicioEN> listaServicios = servicioCEN.ReadAll(0, -1);
                Console.WriteLine("**** LISTANDO LOS SERVICIOS");
                foreach (ServicioEN elemento in listaServicios)
                {
                    Console.WriteLine(elemento.Nombre + " " + elemento.Estado);
                }
                servicioCEN.CambiarDisponibilidad(OIDServicio, MultitecUAGenNHibernate.Enumerated.MultitecUA.EstadoServicioEnum.NoDisponible);
                listaServicios = servicioCEN.ReadAll(0, -1);
                Console.WriteLine("**** LISTANDO LOS SERVICIOS");
                foreach (ServicioEN elemento in listaServicios)
                {
                    Console.WriteLine(elemento.Nombre + " " + elemento.Estado);
                }
                IList <ServicioEN> listaServiciosNoDispo = servicioCEN.DameServiciosPorEstado(MultitecUAGenNHibernate.Enumerated.MultitecUA.EstadoServicioEnum.NoDisponible);
                Console.WriteLine("********* SERVICIOS NO DISPONIBLES");
                foreach (ServicioEN elemento in listaServiciosNoDispo)
                {
                    Console.WriteLine(elemento.Nombre + " " + elemento.Estado);
                }


                /*RECUERDO*/
                RecuerdoCEN recuerdoCEN = new RecuerdoCEN();
                int         OIDRecuerdo = recuerdoCEN.New_("Recuerdo1", "esto es un recuerdo", OIDEvento, null);
                recuerdoCEN.Modify(OIDRecuerdo, "Recuerdo", "Esto es un recuerdo modificado", null);
                OIDRecuerdo = recuerdoCEN.New_("Recuerdo2", "Este es un segundo recuerdo", OIDEvento, null);
                OIDRecuerdo = recuerdoCEN.New_("Recuerdo3", "Haciendo mas recuerdos", OIDEvento, null);
                OIDRecuerdo = recuerdoCEN.New_("Recuerdo4", "Otro recuerdo", OIDEvento, null);


                IList <RecuerdoEN> listaRecuerdosFiltro = recuerdoCEN.DameRecuerdosPorProyecto(OIDEvento);
                Console.WriteLine("**** FILTRO DE RECUERDOS ******");
                foreach (RecuerdoEN elemento in listaRecuerdosFiltro)
                {
                    Console.WriteLine(elemento.Titulo + ": " + elemento.Cuerpo);
                }

                eventoCP.Destroy(OIDEvento);

                /*NOTICIA*/
                NoticiaCEN noticiaCEN = new NoticiaCEN();
                int        OIDNoticia = noticiaCEN.New_("Noticia 1", "cuerpo", null);
                noticiaCEN.Modify(OIDNoticia, "Noticia 1 Modificada", "Noticion informativo", null);
                OIDNoticia = noticiaCEN.New_("Noticia 2", "cuerpo", null);
                OIDNoticia = noticiaCEN.New_("Noticia 3", "cuerpo", null);
                OIDNoticia = noticiaCEN.New_("Noticia 4", "cuerpo", null);
                OIDNoticia = noticiaCEN.New_("Noticia 5", "cuerpo", null);
                OIDNoticia = noticiaCEN.New_("Noticia 6", "cuerpo", null);
                OIDNoticia = noticiaCEN.New_("Noticia 7", "cuerpo", null);


                foreach (NoticiaEN noticia in noticiaCEN.DameNUltimasNoticias(4))
                {
                    Console.WriteLine(noticia.Titulo + ": " + noticia.Cuerpo);
                }

                Console.WriteLine(noticiaCEN.ReadAll(0, -1).Count);
                noticiaCEN.ReadOID(OIDNoticia);

                noticiaCEN.Destroy(OIDNoticia);



                /*NOTIFICACION USUARIO*/
                NotificacionUsuarioCEN notificacionUsuarioCEN = new NotificacionUsuarioCEN();
                Console.WriteLine("Notificaciones por usuario: " + notificacionUsuarioCEN.DameNotificacionesPorUsuario(OIDUsuario).Count);
                Console.WriteLine("Notificaciones no leidas por usuario: " + notificacionUsuarioCEN.DameNotificacionesNoLeidasPorUsuario(OIDUsuario).Count);
                notificacionUsuarioCEN.LeerNotificacion(notificacionUsuarioCEN.DameNotificacionesPorUsuario(OIDUsuario) [0].Id);
                Console.WriteLine("Notificaciones no leidas por usuario: " + notificacionUsuarioCEN.DameNotificacionesNoLeidasPorUsuario(OIDUsuario).Count);



                Console.WriteLine("Todo ha ido bien");
                /*PROTECTED REGION END*/
            }
            catch (Exception ex)
            {
                System.Console.WriteLine(ex.InnerException);
                throw ex;
            }
        }