Exemple #1
0
        public ActionResult QuitarLibro(int id, Libro libro)
        {
            try
            {
                SessionInitialize();

                AlbumCAD    cad2   = new AlbumCAD(session);
                AlbumCEN    cen2   = new AlbumCEN(cad2);
                LibroCAD    cad    = new LibroCAD(session);
                LibroCEN    cen    = new LibroCEN(cad);
                LibroEN     en     = cen.ReadOID(libro.id);
                IList <int> libros = null;
                libros.Add(en.Id);
                cen2.QuitarLibroAlbum(id, libros);



                SessionClose();
                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Exemple #2
0
        public void ProcederCompra(int p_oid)
        {
            /*PROTECTED REGION ID(LibrerateGenNHibernate.CP.Librerate_Carrito_procederCompra) ENABLED START*/

            ICarritoCAD carritoCAD = null;
            CarritoCEN  carritoCEN = null;
            UsuarioCAD  usuarioCAD = null;
            UsuarioCEN  usuarioCEN = null;
            LibroCAD    libroCAD   = null;
            LibroCEN    libroCEN   = null;

            try
            {
                SessionInitializeTransaction();
                carritoCAD = new CarritoCAD(session);
                carritoCEN = new CarritoCEN(carritoCAD);
                usuarioCAD = new UsuarioCAD(session);
                usuarioCEN = new UsuarioCEN(usuarioCAD);
                libroCAD   = new LibroCAD(session);
                libroCEN   = new LibroCEN(libroCAD);



                // Write here your custom transaction ...

                CarritoEN carritoEN = carritoCAD.ReadOIDDefault(p_oid);
                UsuarioEN usuarioEN = usuarioCAD.ReadOIDDefault(carritoEN.Usuario.Id);
                LibroEN   libroEN   = null;


                foreach (LineaPedidoEN linea in carritoEN.LineaPedido)
                {
                    libroEN = linea.Libro;
                    usuarioCEN.AnyadirLibro(usuarioEN.Id, new List <int>()
                    {
                        libroEN.Id
                    });
                }

                carritoEN.Estado = true;
                carritoCAD.Modify(carritoEN);



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


            /*PROTECTED REGION END*/
        }
Exemple #3
0
        public ActionResult decrementar(int id)
        {
            SessionInitialize();
            LibroCAD libCAD = new LibroCAD(session);
            LibroCEN cen    = new LibroCEN(libCAD);

            cen.PuntuarLibro(id, 1);
            SessionClose();
            return(View());
        }
Exemple #4
0
        public System.Collections.Generic.IList <Entrega1GenNHibernate.EN.GrayLine.CapituloEN> LeerCapitulo(int?id_libro)
        {
            /*PROTECTED REGION ID(Entrega1GenNHibernate.CP.GrayLine_Capitulo_leerCapitulo) ENABLED START*/

            ICapituloCAD capituloCAD = null;
            CapituloCEN  capituloCEN = null;

            System.Collections.Generic.IList <Entrega1GenNHibernate.EN.GrayLine.CapituloEN> result = null;

            try
            {
                SessionInitializeTransaction();
                capituloCAD = new CapituloCAD(session);
                capituloCEN = new CapituloCEN(capituloCAD);

                LibroCAD    libroCAD = new LibroCAD(session);
                LibroEN     libroEN  = libroCAD.ReadOIDDefault((int)id_libro);
                CapituloCEN capitulo = new CapituloCEN();


                result = new List <CapituloEN>();

                if (libroEN.GetType().Name.Equals("GratuitoEN"))
                {
                    // guardamos todos los capitulos
                    result = capituloCAD.BuscarCapitulo(id_libro);      // -1 para leerlos todos
                    // pruebas

                    /*foreach (CapituloEN capitulos in result)
                     * {
                     *  System.Console.WriteLine("Contenido del capitulo: " + capitulos.Contenido.ToString());
                     * }*/
                }
                else
                {
                    // como es de pago solo devuelvo el primer capitulo
                    result.Add(capituloCAD.BuscarCapitulo(id_libro) [0]);
                }
                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                // System.Console.WriteLine(ex.ToString());
                throw ex;
            }
            finally
            {
                SessionClose();
            }
            return(result);


            /*PROTECTED REGION END*/
        }
Exemple #5
0
        public ActionResult libro_user(int id)
        {
            LibroViewModel lib = null;

            SessionInitialize();
            LibroEN libEN = new LibroCAD(session).ReadOIDDefault(id);

            lib = new LibroAssembler().ConvertENToModelUI(libEN);
            SessionClose();
            return(View(lib));
        }
Exemple #6
0
        // GET: Libro/Details/5
        public ActionResult Details(int id)
        {
            Libro lbr = null;

            SessionInitialize();
            LibroEN lbrEN = new LibroCAD(session).ReadOIDDefault(id);

            lbr = new AssemblerLibro().ConvertENToModelUI(lbrEN);
            SessionClose();
            return(View(lbr));
        }
Exemple #7
0
        // GET: Libro
        public ActionResult Index()
        {
            SessionInitialize();                     //no se navega por en EN pero se hace por si se mueve por ens
            LibroCAD libCAD = new LibroCAD(session); //el session se crea dentro del initialize por herencia del basic
            LibroCEN libCEN = new LibroCEN(libCAD);

            IList <LibroEN> listEN = libCEN.ReadAll(0, -1);
            IEnumerable <LibroViewModel> listviewmodel = new LibroAssembler().ConvertListENToModel(listEN).ToList();

            SessionClose();

            return(View(listviewmodel)); //cuando nos vamos a la vista
        }
Exemple #8
0
        public ActionResult ResBusqueda()
        {
            SessionInitialize();
            LibroCAD libroCAD = new LibroCAD(session);
            LibroCEN libCEN   = new LibroCEN(libroCAD);

            List <LibroEN> listaArt           = libCEN.ReadAll(0, -1).ToList();
            LibroAssembler lass               = new LibroAssembler();
            IEnumerable <LibroViewModel> list = lass.ConvertListENToModel(listaArt).ToList();

            SessionClose();
            return(View(list));
        }
Exemple #9
0
        public void PuntuarLibro(int p_Libro_OID, string p_nombre, string p_genero, Nullable <DateTime> p_fechapubli, string p_idioma, string p_portada, double p_puntuacion, string p_enlacedecompra, int p_paginas, double p_precio, int p_compras)
        {
            /*PROTECTED REGION ID(BookReViewGenNHibernate.CP.BookReview_Libro_puntuarLibro) ENABLED START*/

            ILibroCAD libroCAD = null;
            LibroCEN  libroCEN = null;



            try
            {
                SessionInitializeTransaction();
                libroCAD = new LibroCAD(session);
                libroCEN = new  LibroCEN(libroCAD);



                LibroEN libroEN = null;
                //Initialized LibroEN
                libroEN                = new LibroEN();
                libroEN.LibroID        = p_Libro_OID;
                libroEN.Nombre         = p_nombre;
                libroEN.Genero         = p_genero;
                libroEN.Fechapubli     = p_fechapubli;
                libroEN.Idioma         = p_idioma;
                libroEN.Portada        = p_portada;
                libroEN.Puntuacion     = p_puntuacion;
                libroEN.Enlacedecompra = p_enlacedecompra;
                libroEN.Paginas        = p_paginas;
                libroEN.Precio         = p_precio;
                libroEN.Compras        = p_compras;
                //Call to LibroCAD

                libroCAD.PuntuarLibro(libroEN);


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


            /*PROTECTED REGION END*/
        }
Exemple #10
0
        // GET: Libro/Edit/5
        public ActionResult Edit(int id)
        {
            LibroViewModel lib = null; // inicializamos el objeto a NULL


            SessionInitialize();

            LibroEN libEN = new LibroCAD(session).ReadOIDDefault(id);

            lib = new LibroAssembler().ConvertENToModelUI(libEN);

            SessionClose();
            return(View(lib));
        }
Exemple #11
0
        // GET: Libro/Delete/5
        public ActionResult Delete(int id)
        {
            int idCategoria = -1;

            SessionInitialize();
            LibroCAD       artCAD = new LibroCAD(session);
            LibroCEN       cen    = new LibroCEN(artCAD);
            LibroEN        libEN  = cen.ReadOID(id);
            LibroViewModel lib    = new LibroAssembler().ConvertENToModelUI(libEN);

            idCategoria = lib.libroID;
            SessionClose();

            new LibroCEN().BorrarLibro(id);


            return(RedirectToAction("Index"));
        }
Exemple #12
0
        public BookReViewGenNHibernate.EN.BookReview.CompraEN New_(int p_comprador, int p_solicitante, string p_tipo_pago, string p_infotarjeta, Nullable <DateTime> p_fechaped, string p_terminal, string p_comercio)
        {
            /*PROTECTED REGION ID(BookReViewGenNHibernate.CP.BookReview_Compra_new_) ENABLED START*/

            ICompraCAD compraCAD  = null;
            CompraCEN  compraCEN  = null;
            UsuarioCAD usuarioCAD = null;
            UsuarioCEN usuarioCEN = null;
            LibroCAD   libroCAD   = null;
            LibroCEN   libroCEN   = null;

            BookReViewGenNHibernate.EN.BookReview.CompraEN result = null;


            try
            {
                SessionInitializeTransaction();
                compraCAD = new CompraCAD(session);
                compraCEN = new  CompraCEN(compraCAD);

                // Para modificar el usuario y el libro
                usuarioCAD = new UsuarioCAD(session);
                usuarioCEN = new UsuarioCEN(usuarioCAD);

                libroCAD = new LibroCAD(session);
                libroCEN = new LibroCEN(libroCAD);

                int oid;
                //Initialized CompraEN
                CompraEN compraEN;
                compraEN = new CompraEN();

                if (p_comprador != -1)
                {
                    compraEN.Comprador           = new BookReViewGenNHibernate.EN.BookReview.UsuarioEN();
                    compraEN.Comprador.UsuarioID = p_comprador;
                }


                if (p_solicitante != -1)
                {
                    compraEN.Solicitante         = new BookReViewGenNHibernate.EN.BookReview.LibroEN();
                    compraEN.Solicitante.LibroID = p_solicitante;
                }

                compraEN.Tipo_pago = p_tipo_pago;

                compraEN.Infotarjeta = p_infotarjeta;

                compraEN.Fechaped = p_fechaped;

                compraEN.Terminal = p_terminal;

                compraEN.Comercio = p_comercio;

                //Call to CompraCAD

                oid = compraCAD.New_(compraEN);

                // Ahora modificamos los valores
                // Primero el del usuario. (sumarle el precio del libro al total que ha ganado
                // Para eso recuperamos el usuario actual primero
                LibroEN   libroEN = libroCEN.ReadOID(compraEN.Solicitante.LibroID); // Para eso recuperamos el libro actual primero
                UsuarioEN usuEN   = usuarioCEN.ReadOID(libroEN.Creador.UsuarioID);

                usuEN.Dineroventa += libroEN.Precio;

                usuarioCAD.ModifyDefault(usuEN);


                // Ahora el del libro (saber la cantidad de compras que se han realidado para ese libro)

                // libroEN = libroCEN.ReadOID(compraEN.Solicitante.LibroID); // Para eso recuperamos el libro actual primero
                libroEN.Compras += 1; // le sumamos 1 a la cantidad de compras.
                libroCAD.ModifyDefault(libroEN);
                result = compraCAD.ReadOIDDefault(oid);



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


            /*PROTECTED REGION END*/
        }
Exemple #13
0
        public static void InitializeData()
        {
            /*PROTECTED REGION ID(initializeDataMethod) ENABLED START*/
            try
            {
                // Insert the initilizations of entities using the CEN classes

                System.Console.WriteLine("Creando Usuarios...");
                UsuarioCEN usuarioCEN = new UsuarioCEN();
                int        usu1       = usuarioCEN.New_("Joan7", "*****@*****.**", System.DateTime.Now, "123456789", false, "usu1.jpg");
                int        usu2       = usuarioCEN.New_("Victor666", "*****@*****.**", System.DateTime.Now, "987654321", false, "usu2.jpg");
                int        usu3       = usuarioCEN.New_("9Pedro9", "*****@*****.**", System.DateTime.Now, "1234abcd", false, "usu3.jpg");
                UsuarioEN  usuarioEN1 = usuarioCEN.ReadOID(usu1);
                System.Console.WriteLine(usuarioEN1.Nombre);

                System.Console.WriteLine("Creando Administradores...");
                AdministradorCEN administradorCEN = new AdministradorCEN();
                int admin1 = administradorCEN.New_("Joan7", "*****@*****.**", System.DateTime.Now, usu1, "contrasenasecreta");

                System.Console.WriteLine("Creando Libros...");
                LibroCEN libroCEN = new LibroCEN();
                int      lib1     = libroCEN.New_("Como aprobar DSM en 10 pasos", 10, System.DateTime.Now, "DSM", "asdfg.jpg", GeneroEnum.Fantasia, 103, "Espanyol", 0, null, 4, usu1);
                int      lib2     = libroCEN.New_("Las aventuras de Pepe", 17, System.DateTime.Now, "DSM2", "asdfg.jpg", GeneroEnum.Ficcion, 103, "Ingles", 0, null, 4, usu1);
                LibroCAD libroCAD = new LibroCAD();
                LibroCP  libroCP  = new LibroCP();


                System.Console.WriteLine("Creando Album...");
                AlbumCEN albumCEN = new AlbumCEN();
                int      album1   = albumCEN.New_("Libros para dormir", "Listado de libros para leer por la noche", 10, usu1);

                System.Console.WriteLine("Creando Autores...");
                AutorCEN autorCEN = new AutorCEN();
                int      auto1    = autorCEN.New_(0, "*****@*****.**", System.DateTime.Now, usu1, "Joan7");
                int      auto2    = autorCEN.New_(0, "*****@*****.**", System.DateTime.Now, usu2, "Victor666");

                System.Console.WriteLine("Creando Puntuaciones...");
                PuntuacionCEN puntuacionCEN = new PuntuacionCEN();
                int           puntu1        = puntuacionCEN.New_(5, lib1, usu1);
                int           puntu2        = puntuacionCEN.New_(3, lib1, usu2);



                System.Console.WriteLine("Creando Critica...");
                CriticaCEN criticaCEN = new CriticaCEN();
                int        crit1      = criticaCEN.New_("Esta es mi critica", "lskdhjfksflksjdflksdlfkjslfk", puntu1, lib1, usu1);
                int        crit2      = criticaCEN.New_("Esta NO es mi critica", "lalalalalalalla", puntu2, lib1, usu2);

                libroCP.Calcularmedia(lib1);
                LibroEN libroEN = libroCAD.ReadOIDDefault(lib1);
                System.Console.WriteLine(libroEN.Media);

                System.Console.WriteLine("Haciendo Admin...");
                UsuarioCP       usuarioCP = new UsuarioCP();
                int             adminOID  = usuarioCP.HacerAdmin(usu3);
                AdministradorEN adminEN1  = administradorCEN.ReadOID(adminOID);
                System.Console.WriteLine(adminEN1.Nombre);

                System.Console.WriteLine("Haciendo Baneo...");
                usuarioCP.Banear(usu1);
                System.Console.WriteLine(new UsuarioCAD().ReadOIDDefault(usu1).Baneado);

                System.Console.WriteLine("Creando Carritos...");
                CarritoCEN carritoCEN = new CarritoCEN();
                int        carrito1   = carritoCEN.New_(0, 0, usu3, false);
                int        carrito2   = carritoCEN.New_(0, 0, usu2, false);
                CarritoCP  carritoCP  = new CarritoCP();
                CarritoCAD carritoCAD = new CarritoCAD();



                System.Console.WriteLine("Creando L�neas de pedido...");
                LineaPedidoCEN lineaPedidoCEN = new LineaPedidoCEN();
                //int linea1 = lineaPedidoCEN.New_ (1, usu2, lib1);
                //int linea2 = lineaPedidoCEN.New_ (1, usu2, lib2);
                //int linea3 = lineaPedidoCEN.New_ (1, usu3, lib2);
                LineaPedidoCAD lineaPedidoCAD = new LineaPedidoCAD();
                IList <int>    listlin        = new List <int>();
                //listlin.Add (linea3);
                carritoCEN.AdjuntarlineaPedido(carrito1, listlin);

                IList <int> listlin2 = new List <int>();
                //listlin2.Add (linea1);
                //listlin2.Add (linea2);
                carritoCEN.AdjuntarlineaPedido(carrito2, listlin2);

                System.Console.WriteLine("Calculando precio total de los carritos...");
                carritoCP.CalcularPrecio(carrito1);
                carritoCP.CalcularPrecio(carrito2);

                CarritoEN car1 = carritoCAD.ReadOID(carrito1);
                CarritoEN car2 = carritoCAD.ReadOID(carrito2);

                System.Console.WriteLine(car1.Precio);
                System.Console.WriteLine(car2.Precio);

                System.Console.WriteLine("Procediendo a comprar...");
                carritoCP.ProcederCompra(carrito1);

                car1 = carritoCAD.ReadOID(carrito1);
                car2 = carritoCAD.ReadOID(carrito2);

                System.Console.WriteLine(car1.Estado);
                System.Console.WriteLine(car2.Estado);

                System.Console.WriteLine("Creando Publicaciones...");
                PublicacionCEN publicacionCEN = new PublicacionCEN();
                //int pubg1 = publicacionCEN.New_ ("Público", usu1);
                //int pubg2 = publicacionCEN.New_ ("Privado", usu1);



                // 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 #14
0
        public void Calcularmedia(int p_oid)
        {
            /*PROTECTED REGION ID(LibrerateGenNHibernate.CP.Librerate_Libro_calcularmedia) ENABLED START*/

            ILibroCAD libroCAD = null;
            LibroCEN  libroCEN = null;



            try
            {
                SessionInitializeTransaction();
                libroCAD = new LibroCAD(session);
                libroCEN = new LibroCEN(libroCAD);



                // Write here your custom transaction ...

                LibroEN en = libroCAD.ReadOIDDefault(p_oid);

                int cont  = 0;
                int total = 0;

                if (en.Critica != null)
                {
                    for (int i = 0; i < en.Critica.Count; i++)
                    {
                        total = total + en.Critica [i].Puntuacion_0.Nota;
                        cont++;
                    }
                }

                if (en.Puntuacion != null)
                {
                    for (int i = 0; i < en.Puntuacion.Count; i++)
                    {
                        total = total + en.Puntuacion [i].Nota;
                        cont++;
                    }
                }

                if (cont != 0)
                {
                    en.Media = total / cont;
                }

                else
                {
                    en.Media = 0;
                }

                libroCAD.Modify(en);

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


            /*PROTECTED REGION END*/
        }
        public static void InitializeData()
        {
            /*PROTECTED REGION ID(initializeDataMethod) ENABLED START*/
            try
            {
                // Insert the initilizations of entities using the CEN classes
                // creamos las entidades, las Cad y los CEN para realizar operaciones
                // Inicializamos valores de los objetos que vamos a crear

                #region Usuario/administrador

                IUsuarioCAD _IUsuarioCAD = new UsuarioCAD();
                UsuarioEN   usuario1EN, usuario2adminEN = new UsuarioEN();
                UsuarioCEN  usuarioCEN = new UsuarioCEN(_IUsuarioCAD);

                // Usuario ADMINISTRADOR
                IAdministradorCAD _IAdministradorCAD = new AdministradorCAD();
                AdministradorEN   administradorEN    = new AdministradorEN();
                AdministradorCEN  administradorCEN   = new AdministradorCEN(_IAdministradorCAD);


                // Inicializamos los atributos de las clases
                //Usuario1
                usuario1EN              = new UsuarioEN();
                usuario1EN.Email        = "11111111G";
                usuario1EN.Nombre       = "Cliente1Nombre";
                usuario1EN.Edad         = 18;
                usuario1EN.Fecha_alta   = DateTime.Today;
                usuario1EN.Foto         = "esta es la foto";
                usuario1EN.Bibliografia = "Soy el primer usuario de esta web y parece que puede molar";
                usuario1EN.Baneado      = false;
                usuario1EN.Contrasenya  = "12345";

                //Usuario2
                usuario2adminEN              = new UsuarioEN();
                usuario2adminEN.Email        = "hasnfsi125";
                usuario2adminEN.Nombre       = "Cliente2Nombre";
                usuario2adminEN.Edad         = 18;
                usuario2adminEN.Fecha_alta   = DateTime.Today;
                usuario2adminEN.Foto         = "esta es la foto";
                usuario2adminEN.Bibliografia = "Soy el Admin de esta web y parece que puede molar";
                usuario2adminEN.Baneado      = false;
                usuario2adminEN.Contrasenya  = "1234";

                // registro de usuarios
                var usu1 = usuarioCEN.Registrarse(usuario1EN.Nombre, usuario1EN.Contrasenya, usuario1EN.Email, usuario1EN.Edad, usuario1EN.Fecha_alta, usuario1EN.Foto, usuario1EN.Bibliografia, usuario1EN.Baneado);
                // administrador
                var admin1 = administradorCEN.New_(usuario2adminEN.Nombre, usuario2adminEN.Contrasenya, usuario2adminEN.Email, usuario2adminEN.Edad, usuario2adminEN.Fecha_alta, usuario2adminEN.Foto, usuario2adminEN.Bibliografia, usuario2adminEN.Baneado);
                #endregion

                #region Categoria
                // categorias

                ICategoriaCAD _ICategoriaCAD = new CategoriaCAD();
                CategoriaEN   categoria_1EN  = new CategoriaEN();
                CategoriaEN   categoria_2EN  = new CategoriaEN();
                CategoriaEN   categoria_3EN  = new CategoriaEN();
                CategoriaEN   categoria_4EN  = new CategoriaEN();
                CategoriaEN   categoria_5EN  = new CategoriaEN();


                CategoriaCEN categoriaCEN = new CategoriaCEN(_ICategoriaCAD);
                /* Creamos las categorias y almacenamos su OID */
                categoria_1EN.Nombre_categoria = Entrega1GenNHibernate.Enumerated.GrayLine.Tipo_categoriaEnum.aventura;
                var cat1 = categoriaCEN.New_(categoria_1EN.Nombre_categoria);
                categoria_2EN.Nombre_categoria = Entrega1GenNHibernate.Enumerated.GrayLine.Tipo_categoriaEnum.fantasia;
                var cat2 = categoriaCEN.New_(categoria_2EN.Nombre_categoria);
                categoria_3EN.Nombre_categoria = Entrega1GenNHibernate.Enumerated.GrayLine.Tipo_categoriaEnum.misterio;
                var cat3 = categoriaCEN.New_(categoria_3EN.Nombre_categoria);
                categoria_4EN.Nombre_categoria = Entrega1GenNHibernate.Enumerated.GrayLine.Tipo_categoriaEnum.romance;
                var cat4 = categoriaCEN.New_(categoria_4EN.Nombre_categoria);
                categoria_5EN.Nombre_categoria = Entrega1GenNHibernate.Enumerated.GrayLine.Tipo_categoriaEnum.terror;
                var cat5 = categoriaCEN.New_(categoria_5EN.Nombre_categoria);

                /* Creamos dos listas de categorias para los diferentes libros */
                System.Collections.Generic.List <int> listaCategorias  = new List <int>();
                System.Collections.Generic.List <int> listaCategorias2 = new List <int>();

                listaCategorias.Add(cat1);
                listaCategorias.Add(cat3);

                listaCategorias2.Add(cat2);
                listaCategorias2.Add(cat4);
                listaCategorias2.Add(cat5);

                #endregion

                #region Libro
                // Libros
                /* Creamos los libros y uno de ellos de pago */
                ILibroCAD    _ILibroCAD    = new LibroCAD();
                IPagoCAD     _IPagoCAD     = new PagoCAD();
                IGratuitoCAD _IGratuitoCAD = new GratuitoCAD();
                GratuitoEN   libro1EN      = new GratuitoEN();
                GratuitoEN   libro2EN      = new GratuitoEN();
                PagoEN       libro3EN      = new PagoEN();
                PagoEN       libro4EN      = new PagoEN();

                GratuitoCEN gratuitoCEN = new GratuitoCEN(_IGratuitoCAD);
                PagoCEN     PagoCEN     = new PagoCEN(_IPagoCAD);

                LibroCEN libroCEN = new LibroCEN();

                //Libro 1 ----PUBLICADO
                // libro1EN = new LibroEN();
                libro1EN.Titulo        = "El Quijote";
                libro1EN.Portada       = @"http://imagenesdeamorlindas.com/wp-content/uploads/2013/10/imagenes-lindas-de-amor.jpg";
                libro1EN.Descripcion   = "Novela de Cervantes";
                libro1EN.Fecha         = DateTime.Today;
                libro1EN.Publicado     = true;
                libro1EN.Baneado       = false;
                libro1EN.Num_denuncias = 0;

                /*Libro 2*/
                // libro2EN = new LibroEN();
                libro2EN.Titulo        = "El Castigo";
                libro2EN.Portada       = @"http://imagenesdeamorlindas.com/wp-content/uploads/2013/10/imagenes-lindas-de-amor.jpg";
                libro2EN.Descripcion   = "Novela de Pedrito";
                libro2EN.Fecha         = DateTime.Today;
                libro2EN.Publicado     = true;
                libro2EN.Baneado       = false;
                libro2EN.Num_denuncias = 0;

                //Libro 3 ---- De Pago
                // libro3EN = new PagoEN();
                libro3EN.Titulo        = "Libro de Pago";
                libro3EN.Portada       = @"http://imagenesdeamorlindas.com/wp-content/uploads/2013/10/imagenes-lindas-de-amor.jpg";
                libro3EN.Descripcion   = "Novela de Cervantes de Pago";
                libro3EN.Fecha         = DateTime.Today;
                libro3EN.Publicado     = true;
                libro3EN.Baneado       = false;
                libro3EN.Num_denuncias = 0;
                libro3EN.Precio        = 12;
                libro3EN.Pagado        = false;


                //Libro 4 ----PUBLICADO
                libro4EN.Titulo        = "El Don apacible";
                libro4EN.Portada       = @"http://imagenesdeamorlindas.com/wp-content/uploads/2013/10/imagenes-lindas-de-amor.jpg";
                libro4EN.Descripcion   = "Novela Rusa de Mihayl Sholoyov";
                libro4EN.Fecha         = DateTime.Today;
                libro4EN.Publicado     = true;
                libro4EN.Baneado       = false;
                libro4EN.Num_denuncias = 0;

                // lista de usuarios
                // creamos listas de usuarios y categorias para crear los libros
                System.Collections.Generic.List <String> listaUsuarios = new List <string>();
                listaUsuarios.Add(usuario1EN.Email);

                /* Se crean dos libros gratuitos y uno de pago
                 * Se guardan sus OIDS para inicializar la bbdd */
                int idLibro1 = gratuitoCEN.New_(libro1EN.Titulo, libro1EN.Portada, libro1EN.Descripcion, libro1EN.Fecha, libro1EN.Publicado, listaUsuarios, listaCategorias, libro1EN.Baneado, libro1EN.Num_denuncias);
                int idLibro2 = gratuitoCEN.New_(libro2EN.Titulo, libro2EN.Portada, libro2EN.Descripcion, libro2EN.Fecha, libro2EN.Publicado, listaUsuarios, listaCategorias, libro2EN.Baneado, libro2EN.Num_denuncias);
                int idLibro3 = PagoCEN.New_(libro3EN.Titulo, libro3EN.Portada, libro3EN.Descripcion, libro3EN.Fecha, libro3EN.Publicado, listaUsuarios, listaCategorias, libro3EN.Baneado, libro3EN.Num_denuncias, 9, false);
                int idLibro4 = PagoCEN.New_(libro4EN.Titulo, libro4EN.Portada, libro4EN.Descripcion, libro4EN.Fecha, libro4EN.Publicado, listaUsuarios, listaCategorias2, libro4EN.Baneado, libro4EN.Num_denuncias, 9, false);

                #endregion

                /* Se crean 4 capitulos, los dos primeros para un libro gratuito
                 * y los dos segundo para un libro de pago */
                #region Capitulo
                // Composicion
                CapituloEN  capituloEN  = new CapituloEN();
                CapituloCEN capituloCEN = new CapituloCEN();

                //Capitulo  1
                capituloEN.Id_capitulo = 1;
                capituloEN.Nombre      = "Capitulo 1 - La amenaza Fantasma";
                capituloEN.Numero      = 1;
                capituloEN.Contenido   = "Este capitulo es el primero del libro 1";
                // capituloEN.Libro = libro1EN;
                // capituloEN.Usuario = usuario1EN;
                capituloEN.Editando = false;

                capituloCEN.New_(capituloEN.Nombre, capituloEN.Numero, capituloEN.Contenido, idLibro1, true);


                //capitulo 2
                capituloEN.Id_capitulo = 2;
                capituloEN.Nombre      = "Capitulo 2 - Ya vendr�n tiempos mejores";
                capituloEN.Numero      = 2;
                capituloEN.Contenido   = "Este segundo capitulo es del libro 1";
                // capituloEN.Libro = libro1EN;
                // capituloEN.Usuario = usuario1EN;
                capituloEN.Editando = false;

                capituloCEN.New_(capituloEN.Nombre, capituloEN.Numero, capituloEN.Contenido, idLibro1, true);


                //capitulo 3
                capituloEN.Id_capitulo = 3;
                capituloEN.Nombre      = "Capitulo3 - Puta Bida";
                capituloEN.Numero      = 3;
                capituloEN.Contenido   = "Este capitulo 3 es del libro pago";
                // capituloEN.Libro = libro3EN;
                // capituloEN.Usuario = usuario1EN;
                capituloEN.Editando = true;
                capituloCEN.New_(capituloEN.Nombre, capituloEN.Numero, capituloEN.Contenido, idLibro3, true);

                //capitulo 4
                capituloEN             = new CapituloEN();
                capituloEN.Id_capitulo = 4;
                capituloEN.Nombre      = "Capitulo 4 - ararar";
                capituloEN.Numero      = 3;
                capituloEN.Contenido   = "Este es el segundo capitulo del libro de pago";
                // capituloEN.Libro = libro3EN;
                // capituloEN.Usuario = usuario1EN;
                capituloEN.Editando = true;
                capituloCEN.New_(capituloEN.Nombre, capituloEN.Numero, capituloEN.Contenido, idLibro3, true);

                #endregion

                #region Comentario

                IComentarioCAD _IComentarioCAD = new ComentarioCAD();
                ComentarioEN   comentarioEN    = new ComentarioEN();
                ComentarioCEN  comentarioCEN   = new ComentarioCEN(_IComentarioCAD);


                /* Inicializamos datos de comentarios */
                // Comentario 1
                comentarioEN.Texto_comentario = "Mola mucho este libro!!!";
                comentarioEN.Baneado          = false;
                var comentario1 = comentarioCEN.New_(comentarioEN.Texto_comentario, idLibro1, comentarioEN.Baneado);

                // Comentario 2
                comentarioEN.Texto_comentario = "Mola mucho este libro otra vez!!!";
                comentarioEN.Baneado          = false;

                var comentario2 = comentarioCEN.New_(comentarioEN.Texto_comentario, idLibro1, comentarioEN.Baneado);

                #endregion

                #region Pruebas

                // llamadas paa comprobar de lectura read all
                var r             = usuarioCEN.ReadAll(0, 10);
                var l             = gratuitoCEN.VerLibrosGratuitos(0, 10);
                var p             = PagoCEN.VerLibrosPago(0, 10);
                var mostrarLibros = libroCEN.VerLibreria(0, 10);
                var mostrarLibro  = libroCEN.VerLibro(idLibro1);
                var c             = capituloCEN.ReadAll(0, 10);

                /* Iniciar sesion */
                System.Console.WriteLine("Inicia sesion?: " + usuarioCEN.IniciarSesion(usuario2adminEN.Email, usuario2adminEN.Contrasenya));
                var prueba_filtrolibro = libroCEN.BuscarLibro("El Quijote");
                var librosPago         = PagoCEN.VerLibrosPago(0, -1);
                // comprobar capitulos de libro
                CapituloCP capituloCP = new CapituloCP();

                /* Pruebas para ver los comentarios publicados y no baneados */
                IList <ComentarioEN> listaComentarios = comentarioCEN.VerComentarios(idLibro1);
                // Para visualizar el contenido de cada comentario
                if (listaComentarios != null)
                {
                    foreach (ComentarioEN comentarios in listaComentarios)
                    {
                        System.Console.WriteLine(comentarios.Texto_comentario.ToString());
                    }
                }

                /* Creamos una lista de capitulos del libro del id pasado por parametro */
                IList <CapituloEN> listCapitulos = capituloCP.LeerCapitulo(idLibro1);

                // Para visualizar el contenido de cada capitulo
                if (listCapitulos != null)
                {
                    foreach (CapituloEN capitulo in listCapitulos)
                    {
                        // System.Console.WriteLine(capitulo.Contenido.ToString());
                    }
                }

                /* Creamos una lista de categorias del libro del id pasado por parametro */
                IList <CategoriaEN> listCategorias = categoriaCEN.VerCategorias(0, 10);

                // Para visualizar el contenido de categorias. Se muestran todas
                if (listCategorias != null)
                {
                    foreach (CategoriaEN categorias in listCategorias)
                    {
                        // System.Console.WriteLine (categorias.Nombre_categoria.ToString ());
                    }
                }

                /* Creamos una lista de Libros paar ver su categoria pasada por parametro */
                /* La categoria cat1 tiene tres libros t cat2 solo uno */
                IList <LibroEN> listLibros  = libroCEN.BuscarLibroPorCategoria(cat1);
                IList <LibroEN> listLibros2 = libroCEN.BuscarLibroPorCategoria(cat2);

                /* Prueba para bannear usuario. Se le paa el OID del usuario1EN y lo bannea*/
                usuarioCEN.BanearUsuario(usu1);

                /* Prueba publicar. Un usuario publica un libro El metodo no devuelve nada,
                 * simplemente incrementa incrementa el numero de denuncias, si supera 5 bannea el libro
                 * y pone publicado a false. */
                libroCEN.Denunciar(idLibro1);
                libroCEN.Denunciar(idLibro1);
                libroCEN.Denunciar(idLibro1);
                libroCEN.Denunciar(idLibro1);
                libroCEN.Denunciar(idLibro1);
                libroCEN.Denunciar(idLibro1);
                libroCEN.Denunciar(idLibro1);

                var w = libro1EN.Num_denuncias;
                var v = libro1EN.Baneado;

                var numerodenunciados = libro1EN.Num_denuncias;
                System.Console.WriteLine("Este libro debe tener 6 denuncia: " + numerodenunciados);



                #endregion

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