Exemple #1
0
        public ActionResult Create(int articulo, string usuario, double valoracion, string texto)
        {
            ValoracionCEN valo = new ValoracionCEN();

            IList<ValoracionEN> listaValoraciones = valo.ReadAll(0, -1).ToList();
            IEnumerable<ValoracionViewModel> list = new AssemblerValoracion().ConvertListENToModel(listaValoraciones).ToList();
            bool crear = true;
            foreach (var item in list)
            {
                if (item.Usuario == usuario && item.Articulo == articulo)
                {
                    crear = false;
                }
            }

            try
            {
                if (crear)
                {
                    ValoracionCEN val = new ValoracionCEN();
                    val.New_(articulo, usuario, valoracion, texto);
                    ArticuloCEN arCEN = new ArticuloCEN();
                    ArticuloEN art = arCEN.ReadOID(articulo);
                    System.Diagnostics.Debug.WriteLine("Peto aqui");

                    ValoracionCEN valor = new ValoracionCEN();
                    IList<ValoracionEN> lis = valor.ReadAll(0, -1).ToList();
                    System.Diagnostics.Debug.WriteLine("Peto aqui2");
                    double sum = 0;
                    int cont = 0;
                    foreach (var item in lis)
                    {
                        if (articulo == art.Id)
                        {
                            sum = sum + item.Valoracion;
                            cont = cont + 1;
                        }
                    }
                    System.Diagnostics.Debug.WriteLine("Peto aqui 3");
                    System.Diagnostics.Debug.WriteLine(sum);
                    System.Diagnostics.Debug.WriteLine(cont);
                    sum = sum / cont;
                    System.Diagnostics.Debug.WriteLine("Peto aqui4");
                    System.Diagnostics.Debug.WriteLine(art.Id);
                    System.Diagnostics.Debug.WriteLine(sum);
                    arCEN.Modify(art.Id,art.Nombre,art.Stock, art.Precio, sum, art.Descripcion, art.Imagen, art.Marca);
                    System.Diagnostics.Debug.WriteLine("Peto aqui5");
                    return Redirect("/ArtVal/Details/" + articulo);
                }
                else
                {
                    return Redirect("/ArtVal/Details/" + articulo);
                }

            }
            catch
            {
                return View();
            }
        }
        public ActionResult Create(int rating, ArticuloYOpinion op)
        {
            ValoracionCEN cen = new ValoracionCEN();

            int idUsuario = (int)Session["idUsuario"];

            cen.New_(rating, op.Texto, idUsuario, op.IdArt);

            return(RedirectToAction("Details", "Articulo", new { id = op.IdArt }));
        }
Exemple #3
0
        public ActionResult Details(ArticuloYOpinion op)
        {
            //CREO LA VALORACION
            //EL ID DEL ARTICULO LO PASO MEDIANTE UN CAMPO OCULTO EN EL FORMULARIO

            ValoracionCEN cen = new ValoracionCEN();

            int idUsuario = (int)Session["idUsuario"];

            cen.New_(op.Puntuacion, op.Texto, idUsuario, op.IdArt);

            return(RedirectToAction("Details", new { id = op.IdArt }));
        }
Exemple #4
0
 public ActionResult Create(ValoracionViewModel valoracion)
 {
     try
     {
         ValoracionCEN val = new ValoracionCEN();
         val.New_(valoracion.Articulo, valoracion.Usuario, valoracion.Valoracion, valoracion.Texto);
         return(RedirectToAction("Index"));
     }
     catch
     {
         return(View());
     }
 }
        public void RealizarValoracion(int p_usuario, int p_producto, double p_valor)
        {
            /*PROTECTED REGION ID(BaseDatosGenNHibernate.CP.BaseDatos_Usuario_realizarValoracion) ENABLED START*/

            try
            {
                SessionInitializeTransaction();

                ProductoCAD   prodCAD       = new ProductoCAD(session);
                ValoracionCAD valoracionCAD = new ValoracionCAD(session);

                ProductoCEN   prodCEN       = new ProductoCEN(prodCAD);
                ValoracionCEN valoracionCEN = new ValoracionCEN(valoracionCAD);

                valoracionCEN.New_(p_valor, p_usuario, p_producto);

                ProductoEN productoEN = prodCEN.MuestraProductoPorOID(p_producto);

                double v_Media = 0;
                double v_Num   = 0;
                double v_Total = 0;

                foreach (ValoracionEN valoracionEN in productoEN.Valoracion)
                {
                    v_Media += valoracionEN.Valor;
                    v_Num++;
                }

                v_Total = v_Media / v_Num;

                productoEN.ValoracionMedia = v_Total;
                prodCAD.Modify(productoEN);

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


            /*PROTECTED REGION END*/
        }
        public ActionResult Create(FormCollection collection, int id)
        {
            try
            {
                // TODO: Add insert logic here
                if (User.Identity.GetUserName() != null)
                {
                    ValoracionCEN valoracionCEN = new ValoracionCEN();
                    string        auxS          = collection["Valor"];
                    int           auxI;
                    int.TryParse(auxS, out auxI);
                    bool repetido = false;
                    int  auxID    = 0;

                    SessionInitialize();
                    ValoracionCAD           valCAD = new ValoracionCAD(session);
                    ValoracionCEN           valCEN = new ValoracionCEN(valCAD);
                    IList <ValoracionEN>    valEN  = valCEN.DameValoracionPorVideoID(id);
                    IList <ValoracionModel> vals   = ValoracionAssembler.convertListENToModel(valEN);
                    VideoModel   vidM      = null;
                    UsuarioModel usu       = null;
                    VideoEN      videoEN   = new VideoCAD(session).ReadOIDDefault(id);
                    UsuarioEN    usuarioEN = new UsuarioCAD(session).ReadOIDDefault(User.Identity.GetUserName());
                    vidM = VideoAssembler.convertENToModelUI(videoEN);
                    usu  = UsuarioAssembler.crearUsu(usuarioEN);
                    SessionClose();

                    foreach (ValoracionModel vl in vals)
                    {
                        if (vl.Usuario.Equals(usu.Nick))
                        {
                            repetido = true;
                            auxID    = vl.Id;
                        }
                    }
                    if (auxI <= 5 && auxI >= 0)
                    {
                        if (repetido == false)
                        {
                            valoracionCEN.New_(p_valor: auxI, p_usuario: User.Identity.GetUserName(), p_video: id);
                        }
                        else
                        {
                            valoracionCEN.Modify(p_Valoracion_OID: auxID, p_valor: auxI);
                        }
                    }
                }
                return(RedirectToRoute(new
                {
                    controller = "Video",
                    action = "Details",
                    id = id,
                }));
            }
            catch
            {
                return(RedirectToRoute(new
                {
                    controller = "Video",
                    action = "Details",
                    id = id,
                }));
            }
        }
Exemple #7
0
        public static void InitializeData()
        {
            /*PROTECTED REGION ID(initializeDataMethod) ENABLED START*/
            try
            {
                // Insert the initilizations of entities using the CEN classes



                RegistradoCEN registradoCEN = new RegistradoCEN();
                RegistradoCP  registradoCP  = new RegistradoCP();
                CarritoCEN    carritoCEN    = new CarritoCEN();
                CarritoCP     carritoCP     = new CarritoCP();
                PedidoCEN     pedidoCEN     = new PedidoCEN();

                Console.WriteLine(" ===============================================");
                Console.WriteLine(" =                                             =");
                Console.WriteLine(" =      ########    ########     ########      =");
                Console.WriteLine(" =         ##            ##         ##         =");
                Console.WriteLine(" =         ##          ##           ##         =");
                Console.WriteLine(" =         ##        ##             ##         =");
                Console.WriteLine(" =      ########    ########     ########      =");
                Console.WriteLine(" =                                             =");
                Console.WriteLine(" =             ONLINE SHOP - BETA              =");
                Console.WriteLine(" ===============================================");


                //CREAMOS USUARIOS REGISTRADOS Y SU CARRITOS
                int tester      = registradoCP.Nuevo_usuarioYcarrito("Beta", "Tester", 20, new DateTime(1997, 8, 6), "28595475X", "Test", "Beater", false).Id;
                int registrado0 = registradoCP.Nuevo_usuarioYcarrito("Pablo", "Manez", 20, new DateTime(1997, 8, 6), "6984984X", "Test", "Pablomanez", true).Id;
                int registrado1 = registradoCP.Nuevo_usuarioYcarrito("Kirito", "Kun", 21, new DateTime(1997, 5, 4), "25698568X", "asuna", "Kirito", false).Id;
                int registrado2 = registradoCP.Nuevo_usuarioYcarrito("Dan", "Senpai", 20, new DateTime(1997, 8, 21), "23906238S", "easy", "Dan", false).Id;

                Console.WriteLine("Inicializando datos...\n\n");

                //CREO TRES CATEGORIAS
                CategoriaCEN categoriaCEN = new CategoriaCEN();

                Console.Write("Creo tres categorías:");
                Console.WriteLine("  -espada");
                Console.WriteLine("  -pistola");
                Console.WriteLine("  -arma");


                int[] categorias = new int [10];
                categorias [0] = categoriaCEN.New_("Espada", 0, "espada.jpg");
                categorias [1] = categoriaCEN.New_("Pistola", 0, "pistola.jpg");
                categorias [2] = categoriaCEN.New_("Escopeta", 0, "escopeta.jpg");
                categorias [3] = categoriaCEN.New_("Rifle", 0, "rifle.jpg");
                categorias [4] = categoriaCEN.New_("Zonas", 0, "zonas.jpg");
                categorias [5] = categoriaCEN.New_("Gemas", 0, "gemas.jpg");
                categorias [6] = categoriaCEN.New_("Miscelánea", 0, "miscelanea.jpg");
                categorias [7] = categoriaCEN.New_("Cuchillo", 0, "cuchillo.jpg");
                categorias [9] = categoriaCEN.New_("Arma", 0, "arma.jpg");

                categoriaCEN.Anyadir_supercat(categorias [0], categorias [9]);
                categoriaCEN.Anyadir_supercat(categorias [1], categorias [9]);
                categoriaCEN.Anyadir_supercat(categorias [2], categorias [9]);
                categoriaCEN.Anyadir_supercat(categorias [3], categorias [9]);
                categoriaCEN.Anyadir_supercat(categorias [4], categorias [6]);
                categoriaCEN.Anyadir_supercat(categorias [5], categorias [6]);

                //VIDEOJUEGOS
                VideojuegoCEN videojuegoCEN = new VideojuegoCEN();
                int []        videojuegos   = new int [20];
                videojuegos [0]  = videojuegoCEN.New_("Left 4 Dead 2", "l4d2.jpg");
                videojuegos [1]  = videojuegoCEN.New_("Blade & Soul", "byb.jpg");
                videojuegos [2]  = videojuegoCEN.New_("World of Warcraft", "wow.jpg");
                videojuegos [3]  = videojuegoCEN.New_("NieR: Automata", "nier.jpg");
                videojuegos [4]  = videojuegoCEN.New_("Call of Duty", "cod.jpg");
                videojuegos [5]  = videojuegoCEN.New_("El Rey Arturo: La leyenda de la espada", "arturo.jpg");
                videojuegos [6]  = videojuegoCEN.New_("The legend of Zelda", "zelda.jpg");
                videojuegos [8]  = videojuegoCEN.New_("Minecraft", "maincra.jpg");
                videojuegos [9]  = videojuegoCEN.New_("Diablo III", "d3.jpg");
                videojuegos [10] = videojuegoCEN.New_("Counter Strike: Global Offensive", "csgo.jpg");
                videojuegos [11] = videojuegoCEN.New_("Dota", "dot.jpg");
                videojuegos [12] = videojuegoCEN.New_("Entropia Universe", "entropia.jpg");
                videojuegos [13] = videojuegoCEN.New_("Outlast", "outlast.jpg");
                videojuegos [14] = videojuegoCEN.New_("EVE Online", "eve.jpg");
                videojuegos [15] = videojuegoCEN.New_("Portal II", "portal2.jpg");
                videojuegos [16] = videojuegoCEN.New_("Deus Ex: Mankid Divided", "deus.jpg");
                videojuegos [17] = videojuegoCEN.New_("Half Life 3", "hl3.jpg");
                videojuegos [18] = videojuegoCEN.New_("Evolve Stage 2", "evolve.jpg");
                videojuegos [19] = videojuegoCEN.New_("Dead Space", "deadspace.jpg");


                //ARTICULOS
                ArticuloCEN articuloCEN = new ArticuloCEN();
                int[]       articulos   = new int[40];
                articulos[0]  = articuloCEN.New_("FrostMourne", 10.01, categorias [0], "Un arma muy especial", 5, "frostmourne.jpg", "", videojuegos [5]);
                articulos[1]  = articuloCEN.New_("Escopeta Frost L4D", 1, categorias [2], "Piun, piun", 5, "frostshotgun.jpg", "", videojuegos [2]);
                articulos[2]  = articuloCEN.New_("Contrato Virtuoso", 800, categorias [0], "Espada YohRa", 5, "nier.jpg", "94c9f72ffe6746fd8470177e07f96a35", videojuegos [3]);
                articulos[3]  = articuloCEN.New_("Raygun", 50, categorias [4], "Arma de rayos molona", 5, "raygun.jpg", "", videojuegos [4]);
                articulos[4]  = articuloCEN.New_("Excalibur", 90, categorias [5], "Espada del buen Rey Arturo", 5, "excalibur.jpg", "3b4ffcc403c2404d84a1a07cfc25e3c4", videojuegos [5]);
                articulos[5]  = articuloCEN.New_("Daga del tiempo", 550, categorias [1], "Daga de Prince of Persia, puede controlar el tiempo", 5, "time.jpg", "", videojuegos [6]);
                articulos[6]  = articuloCEN.New_("Braum Papá Noel", 10, categorias[1], "Skin navideña del señor Braum", 5, "braum.jpg", "", videojuegos[6]);
                articulos[7]  = articuloCEN.New_("Shotgun", 320, categorias[2], "Escopeta Fallout, con animaciones incluidas", 5, "shotgun.jpg", "766c4bcf7f4047538ec032ba132c6750", videojuegos[6]);
                articulos[8]  = articuloCEN.New_("Reinhardt", 550, categorias[1], "Martillo moón", 5, "hammer.jpg", "c68e42799e404507833685845e82d489", videojuegos[6]);
                articulos[9]  = articuloCEN.New_("AWP Fenix", 550, categorias[1], "Daga de Prince of Persia, puede controlar el tiempo", 5, "phoenix.jpg", "", videojuegos[6]);
                articulos[10] = articuloCEN.New_("Elucidator", 390, categorias[1], "Espada del buen Kirito", 80, "elucidator.jpg", "aac6b699d9be46d99586d4e761310139", videojuegos[6]);
                articulos[11] = articuloCEN.New_("Ice Famas", 550, categorias[4], "Skin de hielo para esta molona arma", 5, "icefamas.jpg", "8b11a1145baf4665858c6abdaade764f", videojuegos[6]);
                articulos[12] = articuloCEN.New_("Anillo único", 999, categorias[1], "El anillo único", 5, "anillo.jpg", "314bdc71309d4c09949f9ab30ba92ac1", videojuegos[6]);
                articulos[13] = articuloCEN.New_("Skin Black Pearl", 52, categorias[1], "Cuchillo molón CS:GO", 5, "csgo.png", "", videojuegos[6]);
                articulos[14] = articuloCEN.New_("Raygun Mark II", 37, categorias[3], "Doble de potencia que su hermano pequeño", 5, "mark2.jpg", "", videojuegos[6]);
                articulos[15] = articuloCEN.New_("Kayn cazador de almas", 10, categorias[2], "Skin Kayn cazador de almas League of Legends", 5, "kayn.jpg", "", videojuegos[6]);
                articulos[16] = articuloCEN.New_("AK-47 Phoenix", 550, categorias[1], "Skin Phoenix para AK47", 5, "phoenixak.jpg", "1b35a7d44c0c4cdd885b4e2638d10b3b", videojuegos[6]);



                //ANYADO ARTICULOS A FAVORITO

                List <int> favoritos1 = new List <int>();
                favoritos1.Add(articulos[0]);
                List <int> favoritos2 = new List <int>();
                favoritos2.Add(articulos[2]);
                registradoCEN.Añadir_fav(registrado0, favoritos1);
                registradoCEN.Añadir_fav(registrado0, favoritos2);

                //CREO DOS PUJAS
                PujaCEN    pujaCEN = new PujaCEN();
                List <int> pujas   = new List <int>();

                int pujaid  = pujaCEN.New_(DateTime.Now, 10, articulos[0], 10, -1, false, false);
                int pujaid2 = pujaCEN.New_(DateTime.Now, 20, articulos[6], 20, -1, false, false);
                int pujaid3 = pujaCEN.New_(DateTime.Now, 15, articulos[2], 15, -1, false, false);
                int pujaid4 = pujaCEN.New_(DateTime.Now, 25, articulos[10], 25, -1, false, false);
                int pujaid5 = pujaCEN.New_(DateTime.Now, 30, articulos[15], 30, -1, false, false);
                int pujaid6 = pujaCEN.New_(DateTime.Now, 40, articulos[13], 40, -1, false, false);
                int pujaid7 = pujaCEN.New_(DateTime.Now, 32, articulos[2], 32, -1, false, false);

                pujas.Add(pujaid);
                pujas.Add(pujaid2);

                RegistradoEN max          = null;
                PujaEN       puja         = pujaCEN.get_IPujaCAD().ReadOIDDefault(pujaid);
                OfertaPujaCP ofertaPujaCP = null;


                List <int>     carrito        = new List <int>();
                LineaPedidoCEN lineaPedidoCEN = new LineaPedidoCEN();
                LineaPedidoCP  lineaPedidoCP  = new LineaPedidoCP();

                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.WriteLine("LOS USUARIOS CREADOS PREVIAMENTE REALIZAN DIVERSAS ACCIONES");
                //LLAMO AL CP NEW DE LINEA DE PEDIDO

                CarritoEN carritoEN = carritoCEN.get_ICarritoCAD().ReadOIDDefault(registrado0);

                /*
                 * System.Console.WriteLine("Anyado 2 "+articuloCEN.get_IArticuloCAD().ReadOIDDefault(articulo1).Nombre+" al carrito de "+registradoCEN.get_IRegistradoCAD().ReadOIDDefault(registrado0).N_usuario);
                 * lineaPedidoCP.Anyado_lineaYprecio(20, articulo1, registrado0);
                 * System.Console.WriteLine("El precio del carrito es: "+carritoCEN.get_ICarritoCAD().ReadOIDDefault(registrado0).Precio + "\n");
                 */
                System.Console.WriteLine("Anyado 2 " + articuloCEN.get_IArticuloCAD().ReadOIDDefault(articulos[2]).Nombre + " al carrito de " + registradoCEN.get_IRegistradoCAD().ReadOIDDefault(registrado0).N_usuario);
                lineaPedidoCP.Anyado_lineaYprecio(2, articulos[2], registrado0);
                System.Console.WriteLine("El precio del carrito es: " + carritoCEN.get_ICarritoCAD().ReadOIDDefault(registrado0).Precio + "\n");


                //CALCULO EL PRECIO DE UN CARRITO
                carritoCP = new CarritoCP();
                Console.WriteLine("Precio del carrito: " + carritoCEN.get_ICarritoCAD().ReadOIDDefault(registrado0).Precio);
                carritoCP.Calcular_precio(registrado0);
                Console.WriteLine("Precio del carrito al calcularlo: " + carritoCEN.get_ICarritoCAD().ReadOIDDefault(registrado0).Precio);


                //CONSEGUIR TODAS LAS LINEAS DE UN CARRITO
                IList <LineaPedidoEN> lineas = lineaPedidoCEN.Obtener_lineas(0, 50);

                IList <int> lineasid = new List <int>();

                foreach (LineaPedidoEN linea in lineas)
                {
                    if (linea.Carrito.Id == registrado0)
                    {
                        lineasid.Add(linea.Id);
                    }
                }

                //FINALIZO LA COMPRA
                carritoCP = new CarritoCP();

                Console.WriteLine("Finalizo la compra de pablomanez:");
                carritoCP.Finalizar_compra(registrado0, carritoCEN.get_ICarritoCAD().ReadOIDDefault(registrado0).Precio);
                System.Console.WriteLine("El precio del carrito es: " + carritoCEN.get_ICarritoCAD().ReadOIDDefault(registrado0).Precio + "\n");

                Console.WriteLine("Ahora " + articuloCEN.get_IArticuloCAD().ReadOIDDefault(articulos[1]).Nombre + " tiene " + articuloCEN.get_IArticuloCAD().ReadOIDDefault(articulos[1]).Stock + " unidades en stock \n");

                //CONSIGO TODOS LOS PEDIDOS DE UN USUARIO
                pedidoCEN = new PedidoCEN();
                IList <PedidoEN> pedidos     = pedidoCEN.Obtener_pedidos(0, 50);
                IList <int>      histPedidos = new List <int>();

                foreach (PedidoEN pedido in pedidos)
                {
                    if (pedido.Registrado.Id == registrado0)
                    {
                        histPedidos.Add(pedido.Id);
                    }
                }

                //PEDIDOS DE UN USUARIO
                Console.WriteLine("Accedo al historial del usuario pablomanez:");
                foreach (int pedId in histPedidos)
                {
                    int      i   = 1;
                    PedidoEN ped = pedidoCEN.get_IPedidoCAD().ReadOIDDefault(pedId);

                    Console.WriteLine("///////////////////////// Pedido numero: " + i + " /////////////////////////");
                    Console.WriteLine("Fecha: " + ped.Fecha);
                    Console.WriteLine("Contenido: ");

                    IList <LineaPedidoEN> lineas2 = lineaPedidoCEN.Obtener_lineas(0, 50);
                    foreach (LineaPedidoEN linea2 in lineas2)
                    {
                        if (linea2.Pedido.Id == pedId)
                        {
                            Console.WriteLine("ID LINEA DE PEDIDO: " + linea2.Id);
                            Console.WriteLine("ARTICULO: " + articuloCEN.get_IArticuloCAD().ReadOIDDefault(linea2.Articulo.Id).Nombre);
                            Console.WriteLine("CANTIDAD: " + linea2.Cantidad + "\n");
                        }
                    }
                }



                /*
                 *  //BUSCO ARTICULOS POR NOMBRE
                 *  System.Console.WriteLine ("USO: Busqueda_por_nombre()");
                 *  String ans = Console.ReadLine ();
                 *  IList<ArticuloEN> busq_nombre = articuloCEN.Busqueda_por_nombre (ans);
                 *  foreach (ArticuloEN art in busq_nombre) {
                 *          System.Console.WriteLine ("NOMBRE: " + art.Nombre);
                 *          System.Console.WriteLine ("PRECIO: " + art.Precio);
                 *  }
                 */

                //INICIAMOS LAS PUJAS
                try
                {
                    System.Console.WriteLine("Puja#" + puja.Id + " | MAX: " + puja.Id_usuario + " " + puja.Puja_max + "$\n");
                    ofertaPujaCP = new OfertaPujaCP();

                    System.Console.WriteLine("Kirito-kun puja " + 15 + "$");
                    ofertaPujaCP.Nueva_oferta(DateTime.Now, DateTime.Now, registrado1, pujaid, 15);     //Nueva oferta de Kirito-kun
                    puja = pujaCEN.get_IPujaCAD().ReadOIDDefault(pujaid);                               //Actualizo puja
                    max  = registradoCEN.get_IRegistradoCAD().ReadOIDDefault(puja.Id_usuario);          //Actualizo nombre del usuario con la puja mas alta
                    System.Console.WriteLine("Puja#" + puja.Id + " | MAX: " + max.N_usuario + " " + puja.Puja_max + "$\n");

                    System.Console.WriteLine("DatrixZ puja " + 20 + "$");
                    ofertaPujaCP.Nueva_oferta(DateTime.Now, DateTime.Now, registrado2, pujaid, 20);      //Nueva oferta de DatrixZ mayor que la anterior
                    puja = pujaCEN.get_IPujaCAD().ReadOIDDefault(pujaid);
                    max  = registradoCEN.get_IRegistradoCAD().ReadOIDDefault(puja.Id_usuario);
                    System.Console.WriteLine("Puja#" + puja.Id + " | MAX: " + max.N_usuario + " " + puja.Puja_max + "$\n");

                    System.Console.WriteLine("Pablo-sensei puja " + 10 + "$");
                    ofertaPujaCP.Nueva_oferta(DateTime.Now, DateTime.Now, registrado0, pujaid, 10);      //Nueva oferta de Pablo-sensei menor que la anterior
                    puja = pujaCEN.get_IPujaCAD().ReadOIDDefault(pujaid);
                    max  = registradoCEN.get_IRegistradoCAD().ReadOIDDefault(puja.Id_usuario);
                    System.Console.WriteLine("Puja#" + puja.Id + " | MAX: " + max.N_usuario + " " + puja.Puja_max + "$\n");
                }
                catch (Exception e) { System.Console.WriteLine(e.Message + "\n"); }

                try
                {
                    System.Console.WriteLine("DatrixZ puja " + 50 + "$");
                    ofertaPujaCP.Nueva_oferta(DateTime.Now, DateTime.Now, registrado2, pujaid, 50);      //Nueva oferta de DatrixZ contra s� mismo
                    puja = pujaCEN.get_IPujaCAD().ReadOIDDefault(pujaid);
                    max  = registradoCEN.get_IRegistradoCAD().ReadOIDDefault(puja.Id_usuario);
                    System.Console.WriteLine("Puja#" + puja.Id + " | MAX: " + max.N_usuario + " " + puja.Puja_max + "$\n");
                }
                catch (Exception e) { System.Console.WriteLine(e.Message + "\n"); }


                System.Console.WriteLine("Puja#" + puja.Id + " | MAX: " + max.N_usuario + " " + puja.Puja_max + " " + puja.Cerrada + "$\n");

                PujaCP pujaCP = new PujaCP();
                System.Console.WriteLine("Cierro puja 1");

                /*
                 * pujaCP.Terminar_puja (pujaid, puja.Fecha, puja.Puja_inicial, puja.Puja_max, puja.Id_usuario, true);
                 * try
                 * {
                 *      System.Console.WriteLine ("Cierro puja 1 otra vez");
                 *      pujaCP.Terminar_puja (pujaid, puja.Fecha, puja.Puja_inicial, puja.Puja_max, puja.Id_usuario, true);
                 * }
                 * catch (Exception e) { System.Console.WriteLine (e.Message + "\n"); }
                 * try
                 * {
                 *      System.Console.WriteLine ("Cierro puja 2");
                 *      pujaCP.Terminar_puja (pujaid2, puja.Fecha, puja.Puja_inicial, puja.Puja_max, puja.Id_usuario, true);
                 * }
                 * catch (Exception e) { System.Console.WriteLine (e.Message + "\n"); }
                 *
                 * try
                 * {
                 *      System.Console.WriteLine ("Pablo-sensei puja " + 100 + "$");
                 *      ofertaPujaCP.Nueva_oferta (DateTime.Now, DateTime.Now, registrado1, pujaid, 100); //Nueva oferta de Pablo-sensei en una puja cerrada
                 *      puja = pujaCEN.get_IPujaCAD ().ReadOIDDefault (pujaid);
                 *      max = registradoCEN.get_IRegistradoCAD ().ReadOIDDefault (puja.Id_usuario);
                 *      System.Console.WriteLine ("Puja#" + puja.Id + " | MAX: " + max.N_usuario + " " + puja.Puja_max + "$\n");
                 * }
                 * catch (Exception e) { System.Console.WriteLine (e.Message + "\n"); }
                 */


                //CREO UNA VALORACION Y MODIFICO SU TEXTO
                ValoracionCEN valoracionCEN = new ValoracionCEN();
                System.Console.WriteLine("CREO UNA VALORACION Y LE CAMBIO EL TEXTO");
                int valoracionCEN_id1 = valoracionCEN.New_(10, "La verdad es que es la hostia, pero quiero que Lujan me apruebe", registrado0, articulos[1]);

                System.Console.WriteLine(valoracionCEN.get_IValoracionCAD().ReadOIDDefault(valoracionCEN_id1).Texto);
                int pMod = valoracionCEN.get_IValoracionCAD().ReadOIDDefault(valoracionCEN_id1).Puntuacion;
                valoracionCEN.Modify(valoracionCEN_id1, pMod, "He cambiado el texto y si, quiero que Lujan me apruebe");
                System.Console.WriteLine(valoracionCEN.get_IValoracionCAD().ReadOIDDefault(valoracionCEN_id1).Texto);


                lineaPedidoCP.Anyado_lineaYprecio(2, articulos[2], registrado0);
                lineaPedidoCP.Anyado_lineaYprecio(2, articulos[2], registrado1);

                // p.e. CustomerCEN customer = new CustomerCEN();
                // customer.New_ (p_user:"******", p_password:"******");

                /*PROTECTED REGION END*/
            }
            catch (Exception ex)
            {
                System.Console.WriteLine(ex.InnerException);
                throw ex;
            }
        }
Exemple #8
0
        public static void InitializeData()
        {
            /*PROTECTED REGION ID(initializeDataMethod) ENABLED START*/
            try
            {
                // Insert the initilizations of entities using the CEN classes


                // p.e. CustomerCEN customer = new CustomerCEN();
                // customer.New_ (p_user:"******", p_password:"******");


                //CREACION DE OBJETOS CEN Y VARIOS OBJETOS DE LAS CLASES



                UsuarioCEN usuario = new UsuarioCEN();
                usuario.New_(p_email: "*****@*****.**", p_nombre: "Juanito", p_apellidos: "Palotes Vidal", p_nick: "JuanitoPV", p_contrasenya: "4321", p_fecha_nac: new DateTime(1992, 2, 4), p_rol: (DSMGitGenNHibernate.Enumerated.DSMGit.RolEnum) 3, p_imagen: "/Images/Uploads/defaultUser.png", p_descripcion: "hola");
                usuario.New_(p_email: "*****@*****.**", p_nombre: "Pepito", p_apellidos: "Palotes Vidal", p_nick: "JuanitoPeter", p_contrasenya: "1234", p_fecha_nac: new DateTime(1992, 2, 4), p_rol: (DSMGitGenNHibernate.Enumerated.DSMGit.RolEnum) 1, p_imagen: "/Images/Uploads/defaultUser.png", p_descripcion: "hola");

                VideoCEN video    = new VideoCEN();
                int      idVideo1 = video.New_(p_titulo: "Haz tu vida mas facil con GitHub", p_descripcion: "Amazing life Hacks", p_usuario: "*****@*****.**", p_fecha_subida: new DateTime(2015, 1, 3), p_miniatura: "/Images/Uploads/Miniaturas/defaultUser.png", p_url: "https://www.youtube.com/embed/aJ7Tv6ukASw");
                int      idVideo2 = video.New_(p_titulo: "Investigacion de MAC", p_descripcion: "Mi proyecto de MAC", p_usuario: "*****@*****.**", p_fecha_subida: new DateTime(2015, 1, 3), p_miniatura: "/Images/Uploads/Miniaturas/defaultUser.png", p_url: "https://www.youtube.com/embed/aJ7Tv6ukASw");
                int      idVideo3 = video.New_(p_titulo: "Video de Investigacion", p_descripcion: "Me at the zoo", p_usuario: "*****@*****.**", p_fecha_subida: new DateTime(2017, 1, 3), p_miniatura: "/Images/Uploads/Miniaturas/defaultUser.png", p_url: "https://www.youtube.com/embed/aJ7Tv6ukASw");
                int      idVideo4 = video.New_(p_titulo: "Video Terror Halloween", p_descripcion: "you WONT BELIEVE this. MUST WATCH. Best thing in ur life", p_usuario: "*****@*****.**", p_fecha_subida: new DateTime(2017, 2, 3), p_miniatura: "/Images/Uploads/Miniaturas/defaultUser.png", p_url: "https://www.youtube.com/embed/aJ7Tv6ukASw");
                //Date time: year month day

                ValoracionCEN valoracion = new ValoracionCEN();
                valoracion.New_(p_valor: 5, p_usuario: "*****@*****.**", p_video: idVideo1);
                valoracion.New_(p_valor: 4, p_usuario: "*****@*****.**", p_video: idVideo1);


                IList <string> enviaUsu = new List <string>();
                enviaUsu.Add("*****@*****.**");

                GrupoCEN grupo = new GrupoCEN();
                grupo.New_(p_nombre: "Grupo1", p_imagen: "/Images/Uploads/defaultGroup.png", p_descripcion: "El mejor grupo", p_miembros: enviaUsu, p_lider: "*****@*****.**", p_aceptaMiembros: true);
                grupo.New_(p_nombre: "Grupo2", p_imagen: "/Images/Uploads/defaultGroup.png", p_descripcion: "El segundo mejor grupo", p_miembros: null, p_lider: "*****@*****.**", p_aceptaMiembros: true);
                //Grupo usado para la mayoria de ejemplos de cps:
                grupo.New_(p_nombre: "Excalibur", p_imagen: "/Images/Uploads/defaultGroup.png", p_descripcion: "Grupo de fans de las espadas", p_miembros: null, p_lider: "*****@*****.**", p_aceptaMiembros: true);


                InvitacionCEN invitacion = new InvitacionCEN();
                invitacion.New_(p_descripcion: "Invitacion 1", p_grupo: "Grupo1", p_invitador: "*****@*****.**");
                invitacion.New_(p_descripcion: "Invitacion 2", p_grupo: "Grupo2", p_invitador: "*****@*****.**");
                invitacion.New_(p_descripcion: "Invitacion 3", p_grupo: "Grupo2", p_invitador: "*****@*****.**");

                TemaCEN tema    = new TemaCEN();
                int     idtema  = tema.New_(p_descripcion: "Hola, buenas tardes", p_estado: DSMGitGenNHibernate.Enumerated.DSMGit.EstadoTemaEnum.cerrado, p_usuario: "*****@*****.**", p_titulo: "Pregunta personal", p_fecha: new DateTime(2015, 1, 3));
                int     idtema2 = tema.New_(p_descripcion: "Como sacar un 10?", p_estado: DSMGitGenNHibernate.Enumerated.DSMGit.EstadoTemaEnum.abierto, p_usuario: "*****@*****.**", p_titulo: "Desesperacion", p_fecha: new DateTime(2017, 5, 1));
                int     idtema3 = tema.New_(p_descripcion: "Adios", p_estado: DSMGitGenNHibernate.Enumerated.DSMGit.EstadoTemaEnum.cerrado, p_usuario: "*****@*****.**", p_titulo: "Despedida", p_fecha: new DateTime(2017, 12, 3));



                RespuestaCEN respuesta = new RespuestaCEN();
                respuesta.New_(p_descripcion: "Buenas tardes", p_tema: idtema, p_usuario: "*****@*****.**", p_fecha: new DateTime(2017, 9, 9));
                respuesta.New_(p_descripcion: "Es imposible", p_tema: idtema2, p_usuario: "*****@*****.**", p_fecha: new DateTime(2017, 9, 9));
                respuesta.New_(p_descripcion: "rt", p_tema: idtema2, p_usuario: "*****@*****.**", p_fecha: new DateTime(2017, 9, 9));
                respuesta.New_(p_descripcion: "Hasta luego", p_tema: idtema3, p_usuario: "*****@*****.**", p_fecha: new DateTime(2017, 9, 9));

                NotificacionCEN notificacion = new NotificacionCEN();
                notificacion.New_(p_descripcion: "Tienes una nueva invitacion de grupo", p_usuario: "*****@*****.**");
                notificacion.New_(p_descripcion: "El usuario Pepito ha aceptado tu peticion", p_usuario: "*****@*****.**");
                notificacion.New_(p_descripcion: "Tienes una nueva valoracion en uno de tus videos", p_usuario: "*****@*****.**");


                SugerenciaCEN sugerencia = new SugerenciaCEN();
                sugerencia.New_(p_titulo: "Reproductor", p_descripcion: "El tama�o del reproductor esta un poco desproporcionado", p_usuario: "*****@*****.**");
                sugerencia.New_(p_titulo: "Temas", p_descripcion: "Deberia haber mas control en los temas", p_usuario: "*****@*****.**");
                sugerencia.New_(p_titulo: "Grupos", p_descripcion: "Mejora en el manejo de las invitaciones porfa", p_usuario: "*****@*****.**");


                ValoracionCEN valoracion1 = new ValoracionCEN();
                valoracion1.New_(p_valor: 97, p_usuario: "*****@*****.**", p_video: idVideo4);
                valoracion1.New_(p_valor: 65, p_usuario: "*****@*****.**", p_video: idVideo2);
                valoracion1.New_(p_valor: 32, p_usuario: "*****@*****.**", p_video: idVideo3);



                ComentarioCEN comentario = new ComentarioCEN();
                comentario.New_(p_texto: "Me ha parecido que esta bastante guapa", p_usuario: "*****@*****.**", p_video: idVideo1);
                comentario.New_(p_texto: "tbh me esperaba mas", p_usuario: "*****@*****.**", p_video: idVideo2);
                comentario.New_(p_texto: "un poco desagradable", p_usuario: "*****@*****.**", p_video: idVideo3);



                System.Console.WriteLine("\n---------Sentencias HQLS / Readfilter ------------\n");


                //HQLS USUARIO
                System.Console.WriteLine("*HQLS/ReadFilter DE USUARIO*");

                IList <UsuarioEN> usuarios = usuario.DameUsuarioPorNick("Juan");
                System.Console.WriteLine("DAME USUARIO POR NICK - Juan");
                foreach (UsuarioEN usu in usuarios)
                {
                    System.Console.WriteLine(usu.Nick);
                }

                IList <UsuarioEN> usuarios2 = usuario.DameUsuarioPorEmail("*****@*****.**");
                System.Console.WriteLine("DAME USUARIO POR EMAIL - [email protected]");
                foreach (UsuarioEN usu2 in usuarios2)
                {
                    System.Console.WriteLine(usu2.Email);
                }



                IList <UsuarioEN> usuarios3 = usuario.DameUsuarioPorNombreYApellidos("Juan", "J");
                System.Console.WriteLine("DAME USUARIO POR NOMBRE Y APELLIDOS - Juan, J");
                foreach (UsuarioEN usu in usuarios3)
                {
                    System.Console.WriteLine(usu.Nombre + " " + usu.Apellidos);
                }

                IList <UsuarioEN> usuarios6 = usuario.DameUsuarioPorNombreOApellidos("Juan", "J");
                System.Console.WriteLine("DAME USUARIO POR NOMBRE O APELLIDOS - Juan, J");
                foreach (UsuarioEN usu in usuarios6)
                {
                    System.Console.WriteLine(usu.Nombre + " " + usu.Apellidos);
                }

                IList <UsuarioEN> usuarios4 = usuario.DameUsuarioPorRol(3);
                System.Console.WriteLine("DAME USUARIO POR ROL - 3 (3 seria Guionista)");
                foreach (UsuarioEN usu in usuarios4)
                {
                    System.Console.WriteLine(usu.Nombre);
                    //PUEDE DAR PROBLEMA
                    System.Console.WriteLine("ROL=" + usu.Rol);
                }

                IList <UsuarioEN> usuarios5 = usuario.DameUsuarioPorDescripcion("la");
                System.Console.WriteLine("DAME USUARIO POR DESCRIPCION");
                foreach (UsuarioEN usu in usuarios5)
                {
                    System.Console.WriteLine(usu.Nombre);
                }

                //COMPROBACIONES DE HQL VIDEOS
                System.Console.WriteLine("*HQLS/ReadFilter DE VIDEO*");
                IList <VideoEN> videos = video.DameVideoPorDescripcion("life");
                System.Console.WriteLine("DAME VIDEO POR DESCRIPCION (AUTOCOMPLETA EL PR. Y EL FINAL) - life");
                foreach (VideoEN vid in videos)
                {
                    System.Console.WriteLine(vid.Titulo);
                    System.Console.WriteLine("Desripcion: " + vid.Descripcion);
                }
                IList <VideoEN> videos2 = video.DameVideoPorDescripcion("hack");
                System.Console.WriteLine("DAME VIDEO POR DESCRIPCION (AUTOCOMPLETA EL PR. Y EL FINAL) - hack");
                foreach (VideoEN vid in videos2)
                {
                    System.Console.WriteLine(vid.Titulo);
                    System.Console.WriteLine("Descripcion: " + vid.Descripcion);
                }
                IList <VideoEN> videos3 = video.DameVideoPorTitulo("Investigacion");
                System.Console.WriteLine("DAME VIDEO POR TITULO (AUTOCOMPLETA EL PR. Y EL FINAL) - Investigacion");
                foreach (VideoEN vid in videos3)
                {
                    System.Console.WriteLine(vid.Titulo);
                }
                IList <VideoEN> videos4 = video.DameVideoPorTitulo("Video");
                System.Console.WriteLine("DAME VIDEO POR TITULO (AUTOCOMPLETA EL PR. Y EL FINAL) - Video");
                foreach (VideoEN vid in videos4)
                {
                    System.Console.WriteLine(vid.Titulo);
                }
                IList <VideoEN> videos5 = video.DameVideoPorEmail("*****@*****.**");
                System.Console.WriteLine("DAME VIDEO POR EMAIL - Ejemplo2");
                foreach (VideoEN vid in videos5)
                {
                    System.Console.WriteLine(vid.Titulo);
                }

                //DateTime fecha1 = new DateTime(2017, 1, 3);
                //Date time: year month day

                IList <VideoEN> videos6 = video.DameVideoPorFecha(2017, 1, 3);
                System.Console.WriteLine("DAME VIDEO POR FECHA - 2017 1 3");
                foreach (VideoEN vid in videos6)
                {
                    System.Console.WriteLine(vid.Titulo);
                }

                IList <VideoEN> videos7 = video.DameVideoPorNick("Juanito");
                System.Console.WriteLine("DAME VIDEO POR NICK DE USER (se autocompleta, me va a dar todos los videos de todos los juanitos) - Juanito");
                foreach (VideoEN vid in videos7)
                {
                    System.Console.WriteLine(vid.Titulo);
                }


                IList <VideoEN> videos8 = video.DameVideoPorNick("JuanitoPV");
                System.Console.WriteLine("DAME VIDEO POR NICK DE USER (se autocompleta) - JuanitoPV");
                foreach (VideoEN vid in videos8)
                {
                    System.Console.WriteLine(vid.Titulo);
                }

                //HQLS Valoraciones
                System.Console.WriteLine("*HQLS/ReadFilter DE VALORACIONES*");
                IList <ValoracionEN> valoraciones = valoracion.DameValoracionPorVideoID(idVideo1);
                System.Console.WriteLine("DAME LA VALORACION MEDIANTE LA ID DEL VIDEO - idVideo1");
                foreach (ValoracionEN val in valoraciones)
                {
                    System.Console.WriteLine("Valoracion: " + val.Valor);
                    System.Console.WriteLine("Valorado por");
                    System.Console.WriteLine("Usuario con email: " + val.Usuario.Email);
                }

                //HQLs Comentarios
                System.Console.WriteLine("*HQLS/ReadFilter DE COMENTARIO*");
                IList <ComentarioEN> comentarios = comentario.DameComentarioPorVideoID(idVideo1);
                System.Console.WriteLine("DAME LOS COMENTARIOS POR ID DE VIDEO - idVideo1");
                foreach (ComentarioEN com in comentarios)
                {
                    System.Console.WriteLine("Comentarios: " + com.Texto);
                    System.Console.WriteLine("Comentado por");
                    System.Console.WriteLine("Usuario: " + com.Usuario.Email);
                }

                //HQLS Sugerencias
                System.Console.WriteLine("*HQLS/ReadFilter DE SUGERENCIA*");
                IList <SugerenciaEN> sugerencias = sugerencia.DameSugerenciaPorEmail("*****@*****.**");
                System.Console.WriteLine("DAME SUGERENCIA POR EMAIL - [email protected]");
                foreach (SugerenciaEN vid in sugerencias)
                {
                    System.Console.WriteLine(vid.Descripcion);
                }

                //HQLs Notificaciones
                System.Console.WriteLine("*HQLS/ReadFilter DE NOTIFICACION*");
                IList <NotificacionEN> notificaciones = notificacion.DameNotificacionPorEmail("*****@*****.**");
                System.Console.WriteLine("DAME NOTIFICACION POR EMAIL - [email protected]");
                foreach (NotificacionEN vid in notificaciones)
                {
                    System.Console.WriteLine(vid.Descripcion);
                }

                //HQLs Temas
                System.Console.WriteLine("*HQLS/ReadFilter DE TEMAS*");
                IList <TemaEN> temas = tema.DameTemaPorNick("PV");
                System.Console.WriteLine("DAME TEMA POR NICK - PV");
                foreach (TemaEN tem in temas)
                {
                    System.Console.WriteLine(tem.Titulo);
                }


                IList <TemaEN> temas2 = tema.DameTemaPorEmail("*****@*****.**");
                System.Console.WriteLine("DAME TEMA POR EMAIL - [email protected]");
                foreach (TemaEN tem2 in temas2)
                {
                    System.Console.WriteLine(tem2.Titulo);
                }
                IList <TemaEN> temas3 = tema.DameTemaPorDesc("ue");
                System.Console.WriteLine("DAME TEMA POR DESCRIPCION - ue");
                foreach (TemaEN tem3 in temas3)
                {
                    System.Console.WriteLine(tem3.Titulo);
                }

                IList <TemaEN> temas4 = tema.DameTemaPorTitulo("per");
                System.Console.WriteLine("DAME TEMA POR TITULO - per");
                foreach (TemaEN tem4 in temas4)
                {
                    System.Console.WriteLine(tem4.Titulo);
                    System.Console.WriteLine(tem4.Fecha.ToString());
                }


                IList <TemaEN> listaTemasAbiertos = tema.DameTemasAbiertos();
                System.Console.WriteLine("Dame Temas abiertos");
                foreach (TemaEN te in listaTemasAbiertos)
                {
                    System.Console.WriteLine(te.Titulo);
                }

                IList <TemaEN> listaTemasCerrados = tema.DameTemasCerrados();
                System.Console.WriteLine("Dame Temas cerrados");
                foreach (TemaEN te in listaTemasCerrados)
                {
                    System.Console.WriteLine(te.Titulo);
                }

                //hqls DE RESPUESTAS
                System.Console.WriteLine("*HQLS/ReadFilter DE RESPUESTAS (a un tema)*");
                IList <RespuestaEN> respus = respuesta.DameRespuestaPorEmail("*****@*****.**");
                System.Console.WriteLine("DAME RESPUESTA POR EMAIL - [email protected]");
                foreach (RespuestaEN respu in respus)
                {
                    System.Console.WriteLine(respu.Descripcion);
                    System.Console.WriteLine("Del tema: " + tema.ReadOID(respu.Tema.Id).Titulo);
                    System.Console.WriteLine("Por el usuario: " + usuario.ReadOID(respu.Usuario.Email).Nick);
                }


                IList <RespuestaEN> respus2 = respuesta.DameRespuestaPorNick("Pet");
                System.Console.WriteLine("DAME RESPUESTA POR NICK - Pet");
                foreach (RespuestaEN respu2 in respus2)
                {
                    System.Console.WriteLine(respu2.Descripcion);
                    System.Console.WriteLine("Del tema: " + tema.ReadOID(respu2.Tema.Id).Titulo);
                    System.Console.WriteLine("Por el usuario: " + usuario.ReadOID(respu2.Usuario.Email).Nick);
                }

                IList <RespuestaEN> respus3 = respuesta.DameRespuestaPorTema(idtema2);
                System.Console.WriteLine("DAME RESPUESTA POR TEMA - idtema2");
                foreach (RespuestaEN respu3 in respus3)
                {
                    System.Console.WriteLine(respu3.Descripcion);
                    System.Console.WriteLine("Del tema: " + tema.ReadOID(respu3.Tema.Id).Titulo);
                    System.Console.WriteLine("Por el usuario: " + usuario.ReadOID(respu3.Usuario.Email).Nick);
                }


                //HQLS DE INVITACIONES
                System.Console.WriteLine("*HQLS/ReadFilter DE INVITACIONES (a 1 grupo)*");
                IList <InvitacionEN> invis = invitacion.DameInvitacionEnviadaPorEmail("*****@*****.**");
                System.Console.WriteLine("DAME INVITACION POR EMAIL (INVITADOR) - [email protected]");
                foreach (InvitacionEN invi in invis)
                {
                    System.Console.WriteLine(invi.Descripcion);
                }

                IList <InvitacionEN> invis2 = invitacion.DameInvitacionEnviadaPorGrupo("Grupo2");
                System.Console.WriteLine("DAME INVITACION POR GRUPO - Grupo2");
                foreach (InvitacionEN invi2 in invis2)
                {
                    System.Console.WriteLine(invi2.Descripcion);
                    System.Console.WriteLine("Del grupo: " + invi2.Grupo.Nombre);
                }



                //COMPROBACIONES METODOS

                System.Console.WriteLine("\n------------------\n");
                System.Console.WriteLine("\n---------CUSTOM---------\n");

                //Iniciar Sesion
                System.Console.WriteLine("*INICIAR SESION*");
                System.Console.WriteLine("Pruebas con el usuario [email protected]");
                System.Console.WriteLine("Con email [email protected] y password 4321");



                System.Console.WriteLine("Inicio de sesion: [email protected] - 4321");

                System.Console.WriteLine(usuario.Iniciar_sesion("*****@*****.**", "4321"));
                System.Console.WriteLine("Inicio de sesion: [email protected] - 321");

                System.Console.WriteLine(usuario.Iniciar_sesion("*****@*****.**", "321"));


                System.Console.WriteLine("\n*ABRIR Y CERRAR TEMAS*");

                listaTemasCerrados = tema.DameTemasCerrados();
                System.Console.WriteLine("Temas cerrados");
                foreach (TemaEN te in listaTemasCerrados)
                {
                    System.Console.WriteLine(te.Titulo);
                }
                System.Console.WriteLine("");

                System.Console.WriteLine("Ejecuto abrir de tema (metodo custom) y vuelvo a hacer la HQL:");
                IList <TemaEN> dameElTemaQueQuiero = tema.DameTemaPorTitulo("Pregunta personal");
                int            idQueQuiero         = -1;
                foreach (TemaEN te in listaTemasCerrados)
                {
                    idQueQuiero = te.Id;
                }
                System.Console.WriteLine("");

                System.Console.WriteLine("Abro el tema");
                System.Console.WriteLine("");

                tema.Abrir(idQueQuiero);

                listaTemasAbiertos = tema.DameTemasAbiertos();

                System.Console.WriteLine("Temas abiertos");
                foreach (TemaEN te in listaTemasAbiertos)
                {
                    System.Console.WriteLine(te.Titulo);
                }
                System.Console.WriteLine("");

                listaTemasCerrados = tema.DameTemasCerrados();
                System.Console.WriteLine("Temas cerrados");
                foreach (TemaEN te in listaTemasCerrados)
                {
                    System.Console.WriteLine(te.Titulo);
                }
                System.Console.WriteLine("");

                System.Console.WriteLine("Ahora cierro el tema: Despedida");
                tema.Cerrar(idQueQuiero);
                System.Console.WriteLine("");


                listaTemasAbiertos = tema.DameTemasAbiertos();
                System.Console.WriteLine("Temas abiertos");
                foreach (TemaEN te in listaTemasAbiertos)
                {
                    System.Console.WriteLine(te.Titulo);
                }
                System.Console.WriteLine("");

                listaTemasCerrados = tema.DameTemasCerrados();
                System.Console.WriteLine("Temas cerrados");
                foreach (TemaEN te in listaTemasCerrados)
                {
                    System.Console.WriteLine(te.Titulo);
                }
                System.Console.WriteLine("FIN COMPROBACIONES DE ABRIR-CERRAR TEMA");
                System.Console.WriteLine("");


                System.Console.WriteLine("\n------------------\n");

                System.Console.WriteLine("\n---------CPs---------\n");

                //Grupo Excalibur creado por [email protected]. Empieza sin miembros.
                DSMGitGenNHibernate.CP.DSMGit.InvitacionCP invitacionCP = new DSMGitGenNHibernate.CP.DSMGit.InvitacionCP();

                DSMGitGenNHibernate.CP.DSMGit.GrupoCP grupoCP = new DSMGitGenNHibernate.CP.DSMGit.GrupoCP();

                DSMGitGenNHibernate.CP.DSMGit.UsuarioCP usuarioCP = new DSMGitGenNHibernate.CP.DSMGit.UsuarioCP();

                DSMGitGenNHibernate.CP.DSMGit.VideoCP videoCP = new DSMGitGenNHibernate.CP.DSMGit.VideoCP();

                IList <UsuarioEN>    listaUsuariosExcalibur = new List <UsuarioEN>();
                IList <ValoracionEN> listaValoraciones      = new List <ValoracionEN>();



                //Salir del grupo. El usuario exige salir de un grupo. No puede salir de Excalibur porque no pertenece.
                System.Console.WriteLine("[email protected] - Salir de Excalibur");
                System.Console.WriteLine(usuarioCP.SalirDeGrupo("*****@*****.**", "Excalibur") + "\n");

                //Alternativa agil a utilizar el Relationer, pues se le pasa un unico usuario, y no una lista.
                //Accion del grupo para meter a un usuario.
                System.Console.WriteLine("Excalibur añade a [email protected]");
                System.Console.WriteLine(grupoCP.AnadirUsuario("Excalibur", "*****@*****.**") + "\n");



                listaUsuariosExcalibur = usuario.DameUsuarioPorGrupo("Excalibur");
                System.Console.WriteLine("Veamos los usuarios de Excalibur:");
                foreach (UsuarioEN usu in listaUsuariosExcalibur)
                {
                    System.Console.WriteLine(usu.Nick);
                    System.Console.WriteLine("Email: " + usu.Email);
                }


                //Expulsar Usuario. Accion del grupo para echar a uno de sus usuarios.
                System.Console.WriteLine(" ");
                System.Console.WriteLine("\n Excalibur expulsa a su miembro [email protected]");
                System.Console.WriteLine(grupoCP.ExpulsarUsuario("Excalibur", "*****@*****.**") + "\n");



                listaUsuariosExcalibur = usuario.DameUsuarioPorGrupo("Excalibur");
                System.Console.WriteLine("Veamos los usuarios de Excalibur:");
                foreach (UsuarioEN usu in listaUsuariosExcalibur)
                {
                    System.Console.WriteLine(usu.Nick);
                    System.Console.WriteLine("Email: " + usu.Email);
                }


                //El usuario entra por su cuenta a Excalibur, que acepta nuevos miembros.
                System.Console.WriteLine(" ");
                System.Console.WriteLine("[email protected] - Entrar a Excalibur (peticion)");
                System.Console.WriteLine(usuarioCP.EntrarAGrupo("*****@*****.**", "Excalibur") + "\n");



                listaUsuariosExcalibur = usuario.DameUsuarioPorGrupo("Excalibur");
                System.Console.WriteLine("Veamos los usuarios de Excalibur:");
                foreach (UsuarioEN usu in listaUsuariosExcalibur)
                {
                    System.Console.WriteLine(usu.Nick);
                    System.Console.WriteLine("Email: " + usu.Email);
                }


                //Salir del grupo. El usuario exige salir de un grupo. Pertenece a Excalibur por lo que puede salir. Sale sin problema de Excalibur
                System.Console.WriteLine(" ");
                System.Console.WriteLine("[email protected] - Salir de Excalibur");
                System.Console.WriteLine(usuarioCP.SalirDeGrupo("*****@*****.**", "Excalibur") + "\n");



                listaUsuariosExcalibur = usuario.DameUsuarioPorGrupo("Excalibur");
                System.Console.WriteLine("Veamos los usuarios de Excalibur:");
                foreach (UsuarioEN usu in listaUsuariosExcalibur)
                {
                    System.Console.WriteLine(usu.Nick);
                    System.Console.WriteLine("Email: " + usu.Email);
                }


                //Salir del grupo. El usuario exige salir de un grupo. No puede salir de Excalibur porque ya no pertenece.
                System.Console.WriteLine("\n [email protected] - Salir de Excalibur");
                System.Console.WriteLine(usuarioCP.SalirDeGrupo("*****@*****.**", "Excalibur") + "\n");



                System.Console.WriteLine("\n *Comprobaciones de errores en CP: no meten usuarios nulos o usuarios a grupos nulos, o usuarios/grupos inexistentes.*");
                System.Console.WriteLine("Por lo que todos estos métodos deben dar FALSE.");
                System.Console.WriteLine(grupoCP.AnadirUsuario("Excalibur", null));
                System.Console.WriteLine(grupoCP.AnadirUsuario("Excalibur", "usuarioinexistente"));
                System.Console.WriteLine(grupoCP.AnadirUsuario("grupoinexistente", "*****@*****.**"));
                System.Console.WriteLine(grupoCP.AnadirUsuario("grupoinexistente", "usuarioinexistente"));

                System.Console.WriteLine(usuarioCP.EntrarAGrupo(null, "Excalibur"));
                System.Console.WriteLine(usuarioCP.EntrarAGrupo("*****@*****.**", null));
                System.Console.WriteLine(usuarioCP.EntrarAGrupo("*****@*****.**", "Noexiste"));
                System.Console.WriteLine(usuarioCP.EntrarAGrupo("noexisto", "Excalibur"));

                System.Console.WriteLine(usuarioCP.SalirDeGrupo("*****@*****.**", null));
                System.Console.WriteLine(usuarioCP.SalirDeGrupo(null, "Excalibur"));
                System.Console.WriteLine(usuarioCP.SalirDeGrupo("noexisto", "Excalibur"));
                System.Console.WriteLine(usuarioCP.SalirDeGrupo("*****@*****.**", "noexisto"));

                System.Console.WriteLine(grupoCP.ExpulsarUsuario(null, null));
                System.Console.WriteLine(grupoCP.ExpulsarUsuario("Excalibur", null));
                System.Console.WriteLine(grupoCP.ExpulsarUsuario(null, "*****@*****.**"));
                System.Console.WriteLine(grupoCP.ExpulsarUsuario("noexisto", "*****@*****.**"));
                System.Console.WriteLine(grupoCP.ExpulsarUsuario("Excalibur", "noexisto"));
                System.Console.WriteLine("\n *Fin de metodos CP de Grupos/Usuarios que deben dar error*");

                System.Console.WriteLine("\n---------CPs sobre Video/Valoracion------------\n");

                //Por aqui se pueden probar los metodos CrearInvitacion y AceptarInvitacion
                System.Console.WriteLine("Comprobacion CrearInvitacion");
                System.Console.WriteLine("INVITACIONES USUARIO 1 \n");
                IList <InvitacionEN> inviE1 = invitacion.DameInvitacionEnviadaPorEmail("*****@*****.**");
                IList <InvitacionEN> inviR1 = invitacion.DameInvitacionRecibidaPorEmail("*****@*****.**");
                System.Collections.Generic.IList <string> usuarios_invitados = new List <string>();;
                usuarios_invitados.Add("*****@*****.**");
                foreach (InvitacionEN invi in inviR1)
                {
                    System.Console.WriteLine("--Recibida: " + invi.Descripcion);
                }
                foreach (InvitacionEN invi in inviE1)
                {
                    System.Console.WriteLine("--Enviada: " + invi.Descripcion);
                }
                System.Console.Write("\n");
                System.Console.WriteLine("INVITACIONES USUARIO 2 \n");
                IList <InvitacionEN> inviE2 = invitacion.DameInvitacionEnviadaPorEmail("*****@*****.**");
                IList <InvitacionEN> inviR2 = invitacion.DameInvitacionRecibidaPorEmail("*****@*****.**");
                foreach (InvitacionEN invi in inviR2)
                {
                    System.Console.WriteLine("--Recibida: " + invi.Descripcion);
                }
                foreach (InvitacionEN invi in inviE2)
                {
                    System.Console.WriteLine("--Enviada: " + invi.Descripcion);
                }
                System.Console.Write("\n");
                System.Console.WriteLine("SE INVOCA A CREAR INVITACION, USUARIO 1 LE MANDA INVITACION A USUARIO 2 ");
                invitacionCP.CrearInvitacion(usuarios_invitados, "*****@*****.**", "Grupo1", "Invitacion hecha con el CP crear Invitacion \n");
                System.Console.WriteLine("INVITACIONES USUARIO 1 \n");
                inviE1 = invitacion.DameInvitacionEnviadaPorEmail("*****@*****.**");
                inviR1 = invitacion.DameInvitacionRecibidaPorEmail("*****@*****.**");

                foreach (InvitacionEN invi in inviR1)
                {
                    System.Console.WriteLine("--Recibida: " + invi.Descripcion);
                }
                foreach (InvitacionEN invi in inviE1)
                {
                    System.Console.WriteLine("--Enviada: " + invi.Descripcion);
                }
                System.Console.Write("\n");
                System.Console.WriteLine("INVITACIONES USUARIO 2 \n");
                inviE2 = invitacion.DameInvitacionEnviadaPorEmail("*****@*****.**");
                inviR2 = invitacion.DameInvitacionRecibidaPorEmail("*****@*****.**");
                foreach (InvitacionEN invi in inviR2)
                {
                    System.Console.WriteLine("--Recibida: " + invi.Descripcion);
                }
                foreach (InvitacionEN invi in inviE2)
                {
                    System.Console.WriteLine("--Enviada: " + invi.Descripcion);
                }
                //comprobaciones Aceptar invitacion
                System.Console.Write("\n");
                System.Console.WriteLine("USUARIOS EN EL GRUPO 1 \n");
                IList <UsuarioEN> usuarios_grupo1 = usuario.DameUsuarioPorGrupo("Grupo1");
                foreach (UsuarioEN u in usuarios_grupo1)
                {
                    System.Console.WriteLine("--Usuario: " + u.Email);
                }

                System.Console.Write("\n");
                System.Console.WriteLine("INVITACIONES DEL GRUPO 1 \n");
                IList <InvitacionEN> invi1 = invitacion.DameInvitacionEnviadaPorGrupo("Grupo1");
                foreach (InvitacionEN i in invi1)
                {
                    System.Console.WriteLine("--Usuario: " + i.Descripcion);
                }


                System.Console.Write("\n");
                System.Console.WriteLine("SE INVOCA A ACEPTAR INVITACIÓN DEL USUARIO 2 ");
                invitacionCP.AceptarInvitacion(inviR2 [0].Id, "*****@*****.**");

                System.Console.WriteLine("INVITACIONES USUARIO 1 \n");
                inviE1 = invitacion.DameInvitacionEnviadaPorEmail("*****@*****.**");
                inviR1 = invitacion.DameInvitacionRecibidaPorEmail("*****@*****.**");

                foreach (InvitacionEN invi in inviR1)
                {
                    System.Console.WriteLine("--Recibida: " + invi.Descripcion);
                }
                foreach (InvitacionEN invi in inviE1)
                {
                    System.Console.WriteLine("--Enviada: " + invi.Descripcion);
                }
                System.Console.Write("\n");
                System.Console.WriteLine("INVITACIONES USUARIO 2 \n");
                inviE2 = invitacion.DameInvitacionEnviadaPorEmail("*****@*****.**");
                inviR2 = invitacion.DameInvitacionRecibidaPorEmail("*****@*****.**");
                foreach (InvitacionEN invi in inviR2)
                {
                    System.Console.WriteLine("--Recibida: " + invi.Descripcion);
                }
                foreach (InvitacionEN invi in inviE2)
                {
                    System.Console.WriteLine("--Enviada: " + invi.Descripcion);
                }
                System.Console.Write("\n");
                System.Console.WriteLine("USUARIOS EN EL GRUPO 1 \n");
                usuarios_grupo1 = usuario.DameUsuarioPorGrupo("Grupo1");
                foreach (UsuarioEN u in usuarios_grupo1)
                {
                    System.Console.WriteLine("--Usuario: " + u.Email);
                }

                System.Console.Write("\n");
                System.Console.WriteLine("INVITACIONES DEL GRUPO 1 \n");
                invi1 = invitacion.DameInvitacionEnviadaPorGrupo("Grupo1");
                foreach (InvitacionEN i in invi1)
                {
                    System.Console.WriteLine("--Usuario: " + i.Descripcion);
                }


                //ValoracionMedia de un video. Tiene 2 valoraciones, 5 y 4.

                System.Console.WriteLine("\n Valoracion media del video: " + video.ReadOID(idVideo1).Titulo);
                System.Console.WriteLine(videoCP.Calcular_valoracion(idVideo1));

                //Mostramos las valoraciones que tiene para comprobar que estamos en lo cierto:
                listaValoraciones = valoracion.DameValoracionPorVideoID(idVideo1);
                System.Console.WriteLine("\n HQL - Comprobamos las valoraciones del video: " + video.ReadOID(idVideo1).Titulo);
                foreach (ValoracionEN val in listaValoraciones)
                {
                    System.Console.WriteLine(" Valoracion de: " + val.Usuario.Email);
                    System.Console.WriteLine("Puntuacion: " + val.Valor);
                }

                System.Console.WriteLine("*Comprobaciones Errores CP Valoraciones: Estos metodos deben dar 0 porque el video no tiene valoraciones, o no existe.");
                //En principio este id de video, no existe. Seria mucha casualidad.
                System.Console.WriteLine(videoCP.Calcular_valoracion(-1423798));

                System.Console.WriteLine("*Fin Comprobaciones Errores CP Valoraciones");

                System.Console.WriteLine("\n---------------------\n");

                /*PROTECTED REGION END*/
            }
            catch (Exception ex)
            {
                System.Console.WriteLine(ex.InnerException);
                throw ex;
            }
        }