Example #1
0
        public ActionResult Categoria(String item)
        {
            SessionInitialize();

            ArticuloCAD articuloCAD = new ArticuloCAD(session);
            ArticuloCEN articuloCEN = new ArticuloCEN(articuloCAD);

            CategoriaCAD categoriaCAD = new CategoriaCAD(session);
            CategoriaCEN categoriaCEN = new CategoriaCEN(categoriaCAD);

            List <ArticuloEN> articulosEN = new List <ArticuloEN>();

            articulosEN.AddRange(articuloCEN.Busqueda_por_categoria(item));

            foreach (CategoriaEN cat in categoriaCAD.ReadAll(0, -1))
            {
                if (cat.Nombre == item)
                {
                    foreach (CategoriaEN subcat in cat.Subcategoria)
                    {
                        IList <ArticuloEN> articulos = articuloCEN.Busqueda_por_categoria(subcat.Nombre);
                        articulosEN.AddRange(articulos);
                    }
                }
            }

            IEnumerable <Articulo> art = new AssemblerArticulo().ConvertListENToModel(articulosEN);

            SessionClose();

            art = GetAllFotos(art);

            return(View("Index", art));
        }
Example #2
0
        public ActionResult LoadFavoritos()
        {
            try
            {
                SessionInitialize();

                RegistradoCAD registradoCAD = new RegistradoCAD(session);
                RegistradoCEN registradoCEN = new RegistradoCEN(registradoCAD);

                ArticuloCAD articuloCAD = new ArticuloCAD(session);
                ArticuloCEN articuloCEN = new ArticuloCEN(articuloCAD);

                int          miID         = (int)Session["idUsuario"];
                RegistradoEN registradoEN = registradoCEN.get_IRegistradoCAD().ReadOIDDefault(miID);

                IList <ArticuloEN>     articulosEN = registradoEN.A_favorito;
                IEnumerable <Articulo> art         = new AssemblerArticulo().ConvertListENToModel(articulosEN);

                SessionClose();

                art = GetAllFotos(art);
                return(View("../Registrado/Favoritos", art));
            }
            catch (Exception e)
            {
                return(RedirectToAction("../Home"));
            }
        }
Example #3
0
        public void eliminarArticulosDeProducto(int idProducto)
        {
            try
            {
                SessionInitializeTransaction();

                ProductoCAD productoCAD = new ProductoCAD(session);
                ProductoEN  productoEN  = productoCAD.ReadOIDDefault(idProducto);

                ArticuloCAD        articuloCAD    = new ArticuloCAD(session);
                ArticuloCEN        articuloCEN    = new ArticuloCEN(articuloCAD);
                IList <ArticuloEN> listaArticulos = new List <ArticuloEN>();

                for (int i = 0; i < productoEN.Articulo.Count; i++)
                {
                    articuloCEN.Destroy(productoEN.Articulo[i].Id);
                }

                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }
        }
Example #4
0
        // GET: Articulo/Delete/5
        public ActionResult Delete(int id)
        {
            ArticuloViewModel usu = null;

            SessionInitialize();
            ArticuloEN usuEN = new ArticuloCAD(session).ReadOIDDefault(id);

            usu = new AssemblerArticulo().ConvertENToModelUI(usuEN);
            SessionClose();
            return(View(usu));
        }
Example #5
0
        // GET: Pedido/Create
        public ActionResult Create()
        {
            SessionInitialize();
            PedidoViewModel    ped                       = new PedidoViewModel();
            IList <ArticuloEN> listaArticulos            = new ArticuloCAD().ReadAllDefault(0, -1);
            IEnumerable <ArticuloViewModel> listaArtView = new AssemblerArticulo().ConvertListENToModel(listaArticulos);

            ViewData["listaArticulos"] = listaArtView;
            SessionClose();

            return(View(ped));
        }
Example #6
0
    protected void busquedaButton_Click(object sender, EventArgs e)
    {
        UsuarioEN usuarioActual = (UsuarioEN)Session["Usuario"];

        if (usuarioActual.getRol().ToString() == "gerente")
        {
            articulos = ArticuloCAD.getArticulo(busquedaArticuloTextBox.Text, 534523);
        }
        if (usuarioActual.getRol().ToString() == "registrado")
        {
            articulos_on = ArticuloCAD.getArticulo(busquedaArticuloTextBox.Text, 123414);
        }
    }
Example #7
0
        public bool crearEntrada(string nombre, string descripcion, float precio, string tipo, int stock, string foto, DateTime?fecha, string grada)
        {
            bool resul = false;

            try
            {
                using (ISession session = NHibernateHelper.OpenSession())
                    using (ITransaction tr = session.BeginTransaction())
                    {
                        EntradaEN   entradaEN   = new EntradaEN();
                        ArticuloCAD articuloCAD = new ArticuloCAD();
                        ArticuloCEN articuloCEN = new ArticuloCEN(articuloCAD);
                        EntradaCAD  entradaCAD  = new EntradaCAD();
                        EntradaCEN  entradaCEN  = new EntradaCEN(entradaCAD);



                        entradaEN.Categoria   = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaEnum.entrada;
                        entradaEN.Nombre      = nombre;
                        entradaEN.Stock       = stock;
                        entradaEN.FechaHora   = fecha;
                        entradaEN.Grada       = grada;
                        entradaEN.Temporada   = DateTime.Now.Year;
                        entradaEN.Tipo        = tipo;
                        entradaEN.Precio      = precio;
                        entradaEN.Descripcion = descripcion;
                        entradaEN.Foto        = foto;

                        entradaEN.Id = entradaCEN.New_(entradaEN.Nombre, entradaEN.Descripcion, entradaEN.Foto, entradaEN.Precio, entradaEN.Stock, entradaEN.Categoria, entradaEN.FechaHora, entradaEN.Tipo, entradaEN.Temporada, entradaEN.Grada);

                        // ARTICULOS ASOCIADOS, TANTOS COMO STOCK
                        for (int i = 0; i < entradaEN.Stock; i++)
                        {
                            ArticuloEN aEntradaEN = new ArticuloEN();
                            aEntradaEN.Producto = entradaEN;             // Lo asociamos con su producto

                            articuloCEN.New_(aEntradaEN.Producto.Id);
                        }

                        resul = true;
                        tr.Commit();
                    }
            }

            catch (Exception ex)
            {
                throw ex;
            }

            return(resul);
        }
Example #8
0
        public ActionResult Videojuego(String item)
        {
            SessionInitialize();

            ArticuloCAD        articuloCAD = new ArticuloCAD(session);
            ArticuloCEN        articuloCEN = new ArticuloCEN(articuloCAD);
            IList <ArticuloEN> articulosEN = articuloCEN.Busqueda_por_videojuego(item);

            IEnumerable <Articulo> art = new AssemblerArticulo().ConvertListENToModel(articulosEN);

            SessionClose();

            art = GetAllFotos(art);
            return(View("Index", art));
        }
Example #9
0
        public void EditArticuloPropio(int p_redactor_oid, int p_articulo_oid, string cont, Nullable <DateTime> fechPubli, OscarsitosGenNHibernate.Enumerated.Oscarsitos.CategArticuloEnum categoria, string titulo, bool titular, bool visible, string imagen)
        {
            /*PROTECTED REGION ID(OscarsitosGenNHibernate.CEN.Oscarsitos_Redactor_editArticuloPropio) ENABLED START*/
            ArticuloCAD _IArticuloCAD = new ArticuloCAD();
            ArticuloCEN articuloCEN   = new ArticuloCEN();

            RedactorEN redactorEN = _IRedactorCAD.ReadOIDDefault(p_redactor_oid);
            ArticuloEN articuloEN = _IArticuloCAD.ReadOIDDefault(p_articulo_oid);

            if (redactorEN.Id == articuloEN.Redacta.Id)
            {
                articuloCEN.Modify(p_articulo_oid, cont, fechPubli, categoria, titulo, titular, visible, imagen);
            }
            /*PROTECTED REGION END*/
        }
Example #10
0
        public void Comprar(string p_oid, System.Collections.Generic.IList <CervezUAGenNHibernate.EN.CervezUA.LineaPedidoEN> linea)
        {
            /*PROTECTED REGION ID(CervezUAGenNHibernate.CP.CervezUA_Usuario_comprar) ENABLED START*/

            IUsuarioCAD usuarioCAD = null;
            UsuarioCEN  usuarioCEN = null;
            IPedidoCAD  pedidoCAD  = null;
            PedidoCEN   pedidoCEN  = null;



            try
            {
                SessionInitializeTransaction();
                usuarioCAD = new UsuarioCAD(session);
                usuarioCEN = new  UsuarioCEN(usuarioCAD);
                pedidoCAD  = new PedidoCAD(session);
                pedidoCEN  = new PedidoCEN(pedidoCAD);

                PedidoEN pedido = new PedidoEN();

                //pedidoCEN.New_ (p_oid, (Enumerated.CervezUA.EstadoPedidoEnum) 0);
                foreach (var item in linea)
                {
                    ArticuloCAD art      = new ArticuloCAD(session);
                    ArticuloCEN articulo = new ArticuloCEN(art);
                    ArticuloEN  a        = art.ReadOIDDefault(item.Articulo.Id);

                    articulo.Modify(a.Id, a.Nombre, a.Stock - item.Numero, a.Precio, a.ValMedia, a.Descripcion, a.Imagen, a.Marca);
                }



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


            /*PROTECTED REGION END*/
        }
Example #11
0
        public ActionResult Busqueda(String termino)
        {
            SessionInitialize();

            ArticuloCAD articuloCAD = new ArticuloCAD(session);
            ArticuloCEN articuloCEN = new ArticuloCEN(articuloCAD);

            IList <ArticuloEN>     articulos = articuloCEN.Busqueda_por_nombre(termino);
            IEnumerable <Articulo> art       = new AssemblerArticulo().ConvertListENToModel(articulos).ToList();

            SessionClose();

            art = GetAllFotos(art);

            return(View("Index", art));
        }
Example #12
0
        // GET: Articulo
        public ActionResult Index()
        {
            SessionInitialize();

            ArticuloCAD articuloCAD = new ArticuloCAD(session);
            ArticuloCEN articuloCEN = new ArticuloCEN(articuloCAD);

            IList <ArticuloEN>     articulos = articuloCEN.ReadAll(0, -1);
            IEnumerable <Articulo> art       = new AssemblerArticulo().ConvertListENToModel(articulos).ToList();

            art = GetAllFotos(art);

            SessionClose();

            return(View(art));
        }
Example #13
0
        // GET: Articulo/Details/5
        public ActionResult Details(int id = 0)
        {
            if (id != 0)
            {
                SessionInitialize();

                ArticuloCAD articuloCAD = new ArticuloCAD(session);
                ArticuloCEN articuloCEN = new ArticuloCEN(articuloCAD);

                ArticuloEN       articuloEN = articuloCAD.ReadOIDDefault(id);
                ArticuloYOpinion art        = new AssemblerArticulo().ConvertENToViewModelUI(articuloEN);
                SessionClose();

                return(View(art));
            }
            else
            {
                return(RedirectToAction("Index", "Home", null));
            }
        }
Example #14
0
        public void Anyadircomentario(int p_oid, string p_comentario, string p_nombre)
        {
            /*PROTECTED REGION ID(SMPGenNHibernate.CP.SMP_articulo_anyadircomentario) ENABLED START*/

            IArticuloCAD articuloCAD = null;
            ArticuloCEN  articuloCEN = null;



            try
            {
                SessionInitializeTransaction();
                articuloCAD = new ArticuloCAD(session);
                articuloCEN = new  ArticuloCEN(articuloCAD);



                // Write here your custom transaction ...

                throw new NotImplementedException("Method Anyadircomentario() not yet implemented.");



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


            /*PROTECTED REGION END*/
        }
        //
        // GET: /Articulo/Delete/5
        public ActionResult Delete(int id)
        {
            try
            {
                // TODO: Add delete logic here
                int idCategoria = -1;
                SessionInitialize();
                ArticuloCAD artCAD = new ArticuloCAD(session);
                ArticuloCEN cen = new ArticuloCEN(artCAD);
                ArticuloEN artEN = cen.ReadOID(id);
                Ruta art = new AssemblerArticulo().ConvertENToModelUI(artEN);
                idCategoria = art.IdCategoria;
                SessionClose();

                new ArticuloCEN().Destroy(id);

                return RedirectToAction("PorCategoria", new {id=idCategoria});
            }
            catch
            {
                return View();
            }
        }
        // GET: /Articulo/Categoria/5
        public ActionResult PorCategoria(int id)
        {
            SessionInitialize();
            ArticuloCAD cadArt = new ArticuloCAD(session);
            CategoriaCAD cadCat = new CategoriaCAD(session);
            ArticuloCEN cen = new ArticuloCEN(cadArt);
            IList<ArticuloEN> listArtEn = cen.DameArticulosPorCat(id);
            IEnumerable<Ruta> listArt = new AssemblerArticulo().ConvertListENToModel(listArtEn).ToList();
            CategoriaEN catEN = cadCat.ReadOIDDefault(id);

            ViewData["IdCategoria"] = id;
            if (catEN != null)
                ViewData["NombreCategoria"] = catEN.Nombre;

            SessionClose();
            return View(listArt);
        }
 //
 // GET: /Articulo/Edit/5
 public ActionResult Edit(int id)
 {
     Ruta art = null;
     SessionInitialize();
     ArticuloEN artEN = new ArticuloCAD(session).ReadOIDDefault(id);
     art = new AssemblerArticulo().ConvertENToModelUI(artEN);
     SessionClose();
     return View(art);
 }
Example #18
0
        public static void InitializeData()
        {
            /*PROTECTED REGION ID(initializeDataMethod) ENABLED START*/
            try
            {
                /***************** CAD **********************/
                IProductoCAD     _IProductoCAD     = new ProductoCAD();
                IUsuarioCAD      _IUsuarioCAD      = new UsuarioCAD();
                IEntradaCAD      _IEntradaCAD      = new EntradaCAD();
                IAbonoCAD        _IAbonoCAD        = new AbonoCAD();
                ITiendaCAD       _ITiendaCAD       = new TiendaCAD();
                IPedidoCAD       _IPedidoCAD       = new PedidoCAD();
                ILineaPedidoCAD  _ILineaPedidoCAD  = new LineaPedidoCAD();
                IFacturaCAD      _IFacturaCAD      = new FacturaCAD();
                ILineaFacturaCAD _ILineaFacturaCAD = new LineaFacturaCAD();
                IArticuloCAD     _IArticuloCAD     = new ArticuloCAD();
                ITallaCAD        _ITallaCAD        = new TallaCAD();

                /***************** CEN **********************/
                UsuarioCEN usuarioCEN = new UsuarioCEN(_IUsuarioCAD);
                // CEN de producto
                ProductoCEN productoCEN = new ProductoCEN(_IProductoCAD);
                // CEN de entradas y abonos
                EntradaCEN entradaCEN = new EntradaCEN(_IEntradaCAD);
                AbonoCEN   abonoCEN   = new AbonoCEN(_IAbonoCAD);
                // CEN de Tallas
                TallaCEN tallaCEN = new TallaCEN(_ITallaCAD);
                // CEN de Tienda
                TiendaCEN tiendaCEN = new TiendaCEN(_ITiendaCAD);
                // CEN de articulos
                ArticuloCEN articuloCEN = new ArticuloCEN(_IArticuloCAD);
                // CEN de los pedidos y lineas de pedido
                PedidoCEN      pedidoCEN      = new PedidoCEN(_IPedidoCAD);
                LineaPedidoCEN lineaPedidoCEN = new LineaPedidoCEN(_ILineaPedidoCAD);
                // CEN de las facturas y lineas de factura
                FacturaCEN      facturaCEN      = new FacturaCEN(_IFacturaCAD);
                LineaFacturaCEN lineaFacturaCEN = new LineaFacturaCEN(_ILineaFacturaCAD);


                /***************** USUARIOS *****************/
                // CLIENTE
                UsuarioEN clienteEN = new UsuarioEN();

                clienteEN.Nif       = "12345678A";
                clienteEN.Password  = "******";
                clienteEN.Nombre    = "Ruben";
                clienteEN.Apellidos = "Martinez";
                clienteEN.FechaNac  = new DateTime(1986, 11, 8);
                clienteEN.Direccion = "Alfonso Puchades 19, 8ºB, Benidorm, Alicante";
                clienteEN.Email     = "*****@*****.**";
                clienteEN.Telefono  = "966582521";
                clienteEN.EsAdmin   = false;

                usuarioCEN.New_(clienteEN.Nif, clienteEN.Password, clienteEN.Nombre,
                                clienteEN.Apellidos, clienteEN.Email, clienteEN.FechaNac,
                                clienteEN.Direccion, clienteEN.Telefono, clienteEN.EsAdmin);

                // ADMINISTRADOR
                UsuarioEN administradorEN = new UsuarioEN();

                administradorEN.Nif       = "01234567A";
                administradorEN.Password  = "******";
                administradorEN.Nombre    = "Pablo";
                administradorEN.Apellidos = "Marzal";
                administradorEN.Email     = "*****@*****.**";
                administradorEN.FechaNac  = new DateTime(1986, 11, 8);
                administradorEN.Direccion = "";
                administradorEN.Telefono  = "";
                administradorEN.EsAdmin   = true;

                usuarioCEN.New_(administradorEN.Nif, administradorEN.Password, administradorEN.Nombre,
                                administradorEN.Apellidos, administradorEN.Email, administradorEN.FechaNac,
                                administradorEN.Direccion, administradorEN.Telefono, administradorEN.EsAdmin);

                // PRUEBAS DE LOGIN
                string[,] loginPass = new string[3, 2]   {
                    { "48333441E", "1234" },                                      // Correcto
                    { "45644521", "54545" },                                      // No encuentra login
                    { "48333441E", "55541" }                                      // El password no coindice
                };

                // String donde escribo cada salidas antes de guardarlas a fichero
                string cadena = "";
                string ruta   = "../../pruebas.txt";

                System.IO.File.WriteAllText(ruta, cadena);         // La primera vez reemplazamos el fichero
                cadena = "PRUEBA DE LOGIN: El primer resultado debe ser correcto, los otros dos son incorrectos\n";


                for (int i = 0; i < 3; i++)
                {
                    if (usuarioCEN.Login(loginPass[i, 0], loginPass[i, 1]))
                    {
                        cadena += (i + 1) + ". Login correcto\n";
                    }
                    else
                    {
                        cadena += (i + 1) + ". Usuario o password incorrecto\n";
                    }
                }

                cadena += "\n\n--------------------------------------\n\n";
                System.IO.File.AppendAllText(ruta, cadena);

                /***************** PRODUCTOS: ENTRADAS Y ABONOS *****************/

                //ENTRADA TRIBUNA
                cadena = "\n\nCREANDO ENTRADA...";

                EntradaEN entradaEN = new EntradaEN();
                entradaEN.Categoria   = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaEnum.entrada;
                entradaEN.Nombre      = "Entrada TRIBUNA";
                entradaEN.Stock       = 100;
                entradaEN.FechaHora   = new DateTime(2013, 11, 8, 16, 0, 0);
                entradaEN.Grada       = "Tribuna";
                entradaEN.Temporada   = 2013;
                entradaEN.Tipo        = "Adulto";
                entradaEN.Precio      = 49.95F;
                entradaEN.Descripcion = "Entrada normal para el encuentro entre UA Club de Futbol y el UMH Top Stars";
                entradaEN.Foto        = @"http://pictures2.todocoleccion.net/tc/2009/12/16/16426460.jpg";

                entradaEN.Id = entradaCEN.New_(entradaEN.Nombre, entradaEN.Descripcion, entradaEN.Foto, entradaEN.Precio, entradaEN.Stock, entradaEN.Categoria, entradaEN.FechaHora, entradaEN.Tipo, entradaEN.Temporada, entradaEN.Grada);

                cadena += " ¡¡EXITO!!";
                System.IO.File.AppendAllText(ruta, cadena);

                // ARTICULOS ASOCIADOS, TANTOS COMO STOCK
                for (int i = 0; i < entradaEN.Stock; i++)
                {
                    ArticuloEN aTazaEN = new ArticuloEN();
                    aTazaEN.Producto = entradaEN;                                                             // Lo asociamos con su producto

                    articuloCEN.New_(aTazaEN.Producto.Id);                                                    // Esto devuelve el id, pero da igual no nos hace falta ahora
                }

                //ENTRADA PREFERENTE
                cadena = "\n\nCREANDO ENTRADA...";

                EntradaEN entrada4EN = new EntradaEN();
                entrada4EN.Categoria   = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaEnum.entrada;
                entrada4EN.Nombre      = "Entrada PREFERENTE";
                entrada4EN.Stock       = 500;
                entrada4EN.FechaHora   = new DateTime(2013, 11, 8, 16, 0, 0);
                entrada4EN.Grada       = "Preferente";
                entrada4EN.Temporada   = 2013;
                entrada4EN.Tipo        = "Adulto";
                entrada4EN.Precio      = 29.95F;
                entrada4EN.Descripcion = "Entrada normal para el encuentro entre UA Club de Futbol y el UMH Top Stars";
                entrada4EN.Foto        = @"http://pictures2.todocoleccion.net/tc/2009/12/16/16426460.jpg";

                entrada4EN.Id = entradaCEN.New_(entrada4EN.Nombre, entrada4EN.Descripcion, entrada4EN.Foto, entrada4EN.Precio, entrada4EN.Stock, entrada4EN.Categoria, entrada4EN.FechaHora, entrada4EN.Tipo, entrada4EN.Temporada, entrada4EN.Grada);

                // ARTICULOS ASOCIADOS, TANTOS COMO STOCK
                for (int i = 0; i < entrada4EN.Stock; i++)
                {
                    ArticuloEN articulo = new ArticuloEN();
                    articulo.Producto = entrada4EN;                                                             // Lo asociamos con su producto

                    articuloCEN.New_(articulo.Producto.Id);                                                     // Esto devuelve el id, pero da igual no nos hace falta ahora
                }

                cadena += " ¡¡EXITO!!";
                System.IO.File.AppendAllText(ruta, cadena);


                //ENTRADA FONDO NORTE
                cadena = "\n\nCREANDO ENTRADA...";

                EntradaEN entrada2EN = new EntradaEN();
                entrada2EN.Categoria   = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaEnum.entrada;
                entrada2EN.Nombre      = "Entrada FONDO NORTE";
                entrada2EN.Stock       = 200;
                entrada2EN.FechaHora   = new DateTime(2013, 11, 8, 16, 0, 0);
                entrada2EN.Grada       = "Fondo Norte";
                entrada2EN.Temporada   = 2013;
                entrada2EN.Tipo        = "Adulto";
                entrada2EN.Precio      = 19.95F;
                entrada2EN.Descripcion = "Entrada normal para el encuentro entre UA Club de Futbol y el UMH Top Stars";
                entrada2EN.Foto        = @"http://pictures2.todocoleccion.net/tc/2009/12/16/16426460.jpg";

                entrada2EN.Id = entradaCEN.New_(entrada2EN.Nombre, entrada2EN.Descripcion, entrada2EN.Foto, entrada2EN.Precio, entrada2EN.Stock, entrada2EN.Categoria, entrada2EN.FechaHora, entrada2EN.Tipo, entrada2EN.Temporada, entrada2EN.Grada);

                // ARTICULOS ASOCIADOS, TANTOS COMO STOCK
                for (int i = 0; i < entrada2EN.Stock; i++)
                {
                    ArticuloEN articulo = new ArticuloEN();
                    articulo.Producto = entrada2EN;                                                             // Lo asociamos con su producto

                    articuloCEN.New_(articulo.Producto.Id);                                                     // Esto devuelve el id, pero da igual no nos hace falta ahora
                }

                cadena += " ¡¡EXITO!!";
                System.IO.File.AppendAllText(ruta, cadena);

                //ENTRADA FONDO SUR
                cadena = "\n\nCREANDO ENTRADA...";

                EntradaEN entrada3EN = new EntradaEN();
                entrada3EN.Categoria   = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaEnum.entrada;
                entrada3EN.Nombre      = "Entrada FONDO SUR";
                entrada3EN.Stock       = 200;
                entrada3EN.FechaHora   = new DateTime(2013, 11, 8, 16, 0, 0);
                entrada3EN.Grada       = "Fondo Sur";
                entrada3EN.Temporada   = 2013;
                entrada3EN.Tipo        = "Adulto";
                entrada3EN.Precio      = 19.95F;
                entrada3EN.Descripcion = "Entrada normal para el encuentro entre UA Club de Futbol y el UMH Top Stars";
                entrada3EN.Foto        = @"http://pictures2.todocoleccion.net/tc/2009/12/16/16426460.jpg";

                entrada3EN.Id = entradaCEN.New_(entrada3EN.Nombre, entrada3EN.Descripcion, entrada3EN.Foto, entrada3EN.Precio, entrada3EN.Stock, entrada3EN.Categoria, entrada3EN.FechaHora, entrada3EN.Tipo, entrada3EN.Temporada, entrada3EN.Grada);

                // ARTICULOS ASOCIADOS, TANTOS COMO STOCK
                for (int i = 0; i < entrada3EN.Stock; i++)
                {
                    ArticuloEN articulo = new ArticuloEN();
                    articulo.Producto = entrada3EN;                                                             // Lo asociamos con su producto

                    articuloCEN.New_(articulo.Producto.Id);                                                     // Esto devuelve el id, pero da igual no nos hace falta ahora
                }

                cadena += " ¡¡EXITO!!";
                System.IO.File.AppendAllText(ruta, cadena);

                //ABONO ADULTO
                cadena = "\n\nCREANDO ABONO...";

                AbonoEN abonoEN = new AbonoEN();
                abonoEN.Categoria   = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaEnum.abono;
                abonoEN.Precio      = 124.99F;
                abonoEN.Descripcion = "Abono de media temporada valido para 8 encuentros";
                abonoEN.Nombre      = "Abono Adulto Tribuna";
                abonoEN.Stock       = 10;
                abonoEN.Tipo        = "Adulto";
                abonoEN.Temporada   = 2014;
                abonoEN.Grada       = "Tribuna";
                abonoEN.Foto        = "http://www.antiguosalumnosdepenalba.org/wp-content/uploads/2008/11/carnet_socio.jpg";

                abonoEN.Id = abonoCEN.New_(abonoEN.Nombre, abonoEN.Descripcion, abonoEN.Foto, abonoEN.Precio, abonoEN.Stock, abonoEN.Categoria, abonoEN.Tipo, abonoEN.Temporada, abonoEN.Grada);

                // ARTICULOS ASOCIADOS, TANTOS COMO STOCK
                for (int i = 0; i < abonoEN.Stock; i++)
                {
                    ArticuloEN articulo = new ArticuloEN();
                    articulo.Producto = abonoEN;                                                             // Lo asociamos con su producto

                    articuloCEN.New_(articulo.Producto.Id);                                                  // Esto devuelve el id, pero da igual no nos hace falta ahora
                }

                cadena += " ¡¡EXITO!!";
                System.IO.File.AppendAllText(ruta, cadena);

                //ABONO JOVEN
                cadena = "\n\nCREANDO ABONO...";

                AbonoEN abono2EN = new AbonoEN();
                abono2EN.Categoria   = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaEnum.abono;
                abono2EN.Precio      = 54.99F;
                abono2EN.Descripcion = "Abono de media temporada valido para 8 encuentros";
                abono2EN.Nombre      = "Abono Joven Fondo Norte";
                abono2EN.Stock       = 10;
                abono2EN.Tipo        = "Joven";
                abono2EN.Temporada   = 2014;
                abono2EN.Grada       = "Fondo Norte";
                abono2EN.Foto        = "http://www.antiguosalumnosdepenalba.org/wp-content/uploads/2008/11/carnet_socio.jpg";

                abono2EN.Id = abonoCEN.New_(abono2EN.Nombre, abono2EN.Descripcion, abono2EN.Foto, abono2EN.Precio, abono2EN.Stock, abono2EN.Categoria, abono2EN.Tipo, abono2EN.Temporada, abono2EN.Grada);

                for (int i = 0; i < abono2EN.Stock; i++)
                {
                    ArticuloEN articulo = new ArticuloEN();
                    articulo.Producto = abono2EN;                                                             // Lo asociamos con su producto

                    articuloCEN.New_(articulo.Producto.Id);                                                   // Esto devuelve el id, pero da igual no nos hace falta ahora
                }

                cadena += " ¡¡EXITO!!";
                System.IO.File.AppendAllText(ruta, cadena);

                //ABONO INFANTIL
                cadena = "\n\nCREANDO ABONO...";

                AbonoEN abono3EN = new AbonoEN();
                abono3EN.Categoria   = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaEnum.abono;
                abono3EN.Precio      = 34.99F;
                abono3EN.Descripcion = "Abono de media temporada valido para 8 encuentros";
                abono3EN.Nombre      = "Abono Infantil Fondo Sur";
                abono3EN.Stock       = 10;
                abono3EN.Tipo        = "Infantil";
                abono3EN.Temporada   = 2014;
                abono3EN.Grada       = "Fondo Sur";
                abono3EN.Foto        = "http://www.antiguosalumnosdepenalba.org/wp-content/uploads/2008/11/carnet_socio.jpg";

                abono3EN.Id = abonoCEN.New_(abono3EN.Nombre, abono3EN.Descripcion, abono3EN.Foto, abono3EN.Precio, abono3EN.Stock, abono3EN.Categoria, abono3EN.Tipo, abono3EN.Temporada, abono3EN.Grada);

                for (int i = 0; i < abono3EN.Stock; i++)
                {
                    ArticuloEN articulo = new ArticuloEN();
                    articulo.Producto = abono3EN;                                                             // Lo asociamos con su producto

                    articuloCEN.New_(articulo.Producto.Id);                                                   // Esto devuelve el id, pero da igual no nos hace falta ahora
                }

                cadena += " ¡¡EXITO!!";
                System.IO.File.AppendAllText(ruta, cadena);

                //ABONO JUBILADO
                cadena = "\n\nCREANDO ABONO...";

                AbonoEN abono4EN = new AbonoEN();
                abono4EN.Categoria   = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaEnum.abono;
                abono4EN.Precio      = 34.99F;
                abono4EN.Descripcion = "Abono de media temporada valido para 8 encuentros";
                abono4EN.Nombre      = "Abono Jubilado Preferente";
                abono4EN.Stock       = 10;
                abono4EN.Tipo        = "Jubilado";
                abono4EN.Temporada   = 2014;
                abono4EN.Grada       = "Preferente";
                abono4EN.Foto        = "http://www.antiguosalumnosdepenalba.org/wp-content/uploads/2008/11/carnet_socio.jpg";

                abono4EN.Id = abonoCEN.New_(abono4EN.Nombre, abono4EN.Descripcion, abono4EN.Foto, abono4EN.Precio, abono4EN.Stock, abono4EN.Categoria, abono4EN.Tipo, abono4EN.Temporada, abono4EN.Grada);

                for (int i = 0; i < abono4EN.Stock; i++)
                {
                    ArticuloEN articulo = new ArticuloEN();
                    articulo.Producto = abono4EN;                                                             // Lo asociamos con su producto

                    articuloCEN.New_(articulo.Producto.Id);                                                   // Esto devuelve el id, pero da igual no nos hace falta ahora
                }

                cadena += " ¡¡EXITO!!";
                System.IO.File.AppendAllText(ruta, cadena);

                /***************** PRODUCTOS: TIENDA *****************/

                // TALLAS
                TallaEN talla1 = new TallaEN();
                TallaEN talla2 = new TallaEN();
                TallaEN talla3 = new TallaEN();
                TallaEN talla4 = new TallaEN();
                TallaEN talla5 = new TallaEN();
                TallaEN talla6 = new TallaEN();
                TallaEN talla7 = new TallaEN();

                // Unica sin medidas, para varios
                talla1.Nombre  = "Unica";
                talla1.Medidas = "10x10 cm";
                talla5.Tipo    = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaTiendaEnum.varios;

                // Prenda
                talla2.Nombre  = "S";
                talla3.Nombre  = "M";
                talla4.Nombre  = "L";
                talla2.Medidas = "60x15x20 cm";
                talla3.Medidas = "80x25x20 cm";
                talla4.Medidas = "100x50x30 cm";
                talla2.Tipo    = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaTiendaEnum.prenda;
                talla3.Tipo    = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaTiendaEnum.prenda;
                talla4.Tipo    = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaTiendaEnum.prenda;

                // Calzado
                talla5.Nombre  = "39";
                talla6.Nombre  = "41";
                talla7.Nombre  = "44";
                talla5.Medidas = "";
                talla6.Medidas = "";
                talla7.Medidas = "";
                talla5.Tipo    = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaTiendaEnum.calzado;
                talla6.Tipo    = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaTiendaEnum.calzado;
                talla7.Tipo    = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaTiendaEnum.calzado;

                talla1.Id = tallaCEN.New_(talla1.Nombre, talla1.Tipo, talla1.Medidas);
                talla2.Id = tallaCEN.New_(talla2.Nombre, talla2.Tipo, talla2.Medidas);
                talla3.Id = tallaCEN.New_(talla3.Nombre, talla3.Tipo, talla3.Medidas);
                talla4.Id = tallaCEN.New_(talla4.Nombre, talla4.Tipo, talla4.Medidas);
                talla5.Id = tallaCEN.New_(talla5.Nombre, talla5.Tipo, talla5.Medidas);
                talla6.Id = tallaCEN.New_(talla6.Nombre, talla6.Tipo, talla6.Medidas);
                talla7.Id = tallaCEN.New_(talla7.Nombre, talla7.Tipo, talla7.Medidas);

                IList <int> tallasVariosId = new List <int>();
                tallasVariosId.Add(talla1.Id);

                IList <int> tallasPrendasId = new List <int>();
                tallasPrendasId.Add(talla2.Id);
                tallasPrendasId.Add(talla3.Id);
                tallasPrendasId.Add(talla4.Id);

                IList <int> tallasCalzadoId = new List <int>();
                tallasCalzadoId.Add(talla5.Id);
                tallasCalzadoId.Add(talla6.Id);
                tallasCalzadoId.Add(talla7.Id);


                // PRODUCTO Y ARTICULO CAMISETA (CAMISETA)
                cadena = "\n\nCREANDO PRODUCTO CAMISETA...";

                TiendaEN pCamisetaEN = new TiendaEN();
                pCamisetaEN.Categoria   = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaEnum.tienda;
                pCamisetaEN.Tipo        = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaTiendaEnum.prenda;
                pCamisetaEN.Nombre      = "Camiseta UA Club";
                pCamisetaEN.Precio      = 55;
                pCamisetaEN.Descripcion = "Camiseta UA Club para los aficionados a este gran equipo de futbol";
                pCamisetaEN.Stock       = 50;
                pCamisetaEN.Foto        = @"http://dmtienda.com/files/2009/05/15/img1_camiseta-seleccin-de-gana-aos-50_0.jpg";
                pCamisetaEN.Color       = "Verde, Amarillo, Rojo";

                pCamisetaEN.Id = tiendaCEN.New_(pCamisetaEN.Nombre, pCamisetaEN.Descripcion, pCamisetaEN.Foto,
                                                pCamisetaEN.Precio, pCamisetaEN.Stock, pCamisetaEN.Categoria,
                                                pCamisetaEN.Color, pCamisetaEN.Tipo);

                // Relacionamos con las tallas de calzado
                tiendaCEN.AgregaTalla(pCamisetaEN.Id, tallasPrendasId);

                cadena += " ¡¡EXITO!!";

                cadena += "\n\nCREANDO ARTICULO CAMISETA...";

                // ARTICULOS ASOCIADOS, TANTOS COMO STOCK
                for (int i = 0; i < pCamisetaEN.Stock; i++)
                {
                    ArticuloEN aCamisetaEN = new ArticuloEN();
                    aCamisetaEN.Producto = pCamisetaEN;                                     // Lo asociamos con su producto

                    articuloCEN.New_(aCamisetaEN.Producto.Id);                              // Esto devuelve el id, pero da igual no nos hace falta ahora
                }

                cadena += " ¡¡EXITO!!";
                cadena += "\n\n--------------------------------------\n\n";
                System.IO.File.AppendAllText(ruta, cadena);

                // --------------------------------------------------------------

                // PRODUCTO Y ARTICULO TAZA (VARIOS)
                cadena = "\n\nCREANDO PRODUCTO TAZA...";

                TiendaEN pTazaEN = new TiendaEN();
                pTazaEN.Categoria   = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaEnum.tienda;
                pTazaEN.Tipo        = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaTiendaEnum.varios;
                pTazaEN.Nombre      = "Taza UA Club";
                pTazaEN.Precio      = 10;
                pTazaEN.Descripcion = "Taza del mejor equipo del mundo para tomarte el Cola Cao";
                pTazaEN.Stock       = 25;
                pTazaEN.Foto        = @"http://www.doblevela.com/images/medium/TF780_med.png";
                pTazaEN.Color       = "Blanco";

                pTazaEN.Id = tiendaCEN.New_(pTazaEN.Nombre, pTazaEN.Descripcion, pTazaEN.Foto,
                                            pTazaEN.Precio, pTazaEN.Stock, pTazaEN.Categoria,
                                            pTazaEN.Color, pTazaEN.Tipo);

                // Relacionamos con las tallas de calzado
                tiendaCEN.AgregaTalla(pTazaEN.Id, tallasVariosId);

                cadena += " ¡¡EXITO!!";

                cadena += "\n\nCREANDO ARTICULO TAZA...";

                // ARTICULOS ASOCIADOS, TANTOS COMO STOCK
                for (int i = 0; i < pTazaEN.Stock; i++)
                {
                    ArticuloEN aTazaEN = new ArticuloEN();
                    aTazaEN.Producto = pTazaEN;                                                             // Lo asociamos con su producto

                    articuloCEN.New_(aTazaEN.Producto.Id);                                                  // Esto devuelve el id, pero da igual no nos hace falta ahora
                }

                cadena += " ¡¡EXITO!!";
                cadena += "\n\n--------------------------------------\n\n";
                System.IO.File.AppendAllText(ruta, cadena);

                // --------------------------------------------------------------


                // PRODUCTO Y ARTICULO BUFANDA (VARIOS)
                cadena = "\n\nCREANDO PRODUCTO BUFANDA...";

                TiendaEN pBufandaEN = new TiendaEN();
                pBufandaEN.Categoria   = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaEnum.tienda;
                pBufandaEN.Tipo        = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaTiendaEnum.varios;
                pBufandaEN.Nombre      = "Bufanda UA Club";
                pBufandaEN.Precio      = 15;
                pBufandaEN.Descripcion = "Bufanda del mejor equipo del mundo para no pasar frío";
                pBufandaEN.Stock       = 80;
                pBufandaEN.Foto        = @"http://www.fashion-sport.fr/698-1468-thickbox/echarpe-officielle-espagne-2012-adidas.jpg";
                pBufandaEN.Color       = "Rojo";

                pBufandaEN.Id = tiendaCEN.New_(pBufandaEN.Nombre, pBufandaEN.Descripcion, pBufandaEN.Foto,
                                               pBufandaEN.Precio, pBufandaEN.Stock, pBufandaEN.Categoria,
                                               pTazaEN.Color, pTazaEN.Tipo);

                // Relacionamos con las tallas de calzado
                tiendaCEN.AgregaTalla(pBufandaEN.Id, tallasVariosId);

                cadena += " ¡¡EXITO!!";
                cadena += "\n\n--------------------------------------\n\n";
                System.IO.File.AppendAllText(ruta, cadena);

                for (int i = 0; i < pBufandaEN.Stock; i++)
                {
                    ArticuloEN aBufandaEN = new ArticuloEN();
                    aBufandaEN.Producto = pBufandaEN;                                                             // Lo asociamos con su producto

                    articuloCEN.New_(aBufandaEN.Producto.Id);                                                     // Esto devuelve el id, pero da igual no nos hace falta ahora
                }

                // --------------------------------------------------------------

                // PRODUCTO Y ARTICULO BOTAS (CALZADO)
                cadena = "\n\nCREANDO PRODUCTO BOTAS...";

                TiendaEN pBotasEN = new TiendaEN();
                pBotasEN.Categoria   = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaEnum.tienda;
                pBotasEN.Tipo        = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaTiendaEnum.calzado;
                pBotasEN.Nombre      = "Botas UA Club";
                pBotasEN.Precio      = 150;
                pBotasEN.Descripcion = "Botas niño Club Futbol UA";
                pBotasEN.Stock       = 15;
                pBotasEN.Foto        = @"http://www.sabercurioso.es/wp-content/botas_futbol.jpg";
                pBotasEN.Color       = "Azul";

                pBotasEN.Id = tiendaCEN.New_(pBotasEN.Nombre, pBotasEN.Descripcion, pBotasEN.Foto,
                                             pBotasEN.Precio, pBotasEN.Stock, pBotasEN.Categoria,
                                             pBotasEN.Color, pBotasEN.Tipo);

                // Relacionamos con las tallas de calzado
                tiendaCEN.AgregaTalla(pBotasEN.Id, tallasCalzadoId);

                cadena += " ¡¡EXITO!!";

                cadena += "\n\nCREANDO ARTICULO CALZADO BOTAS...";

                // ARTICULOS ASOCIADOS, TANTOS COMO STOCK
                for (int i = 0; i < pBotasEN.Stock; i++)
                {
                    ArticuloEN aBotasEN = new ArticuloEN();
                    aBotasEN.Producto = pBotasEN;                     // Lo asociamos con su producto

                    articuloCEN.New_(aBotasEN.Producto.Id);           // Esto devuelve el id, pero da igual no nos hace falta ahora
                }

                cadena += " ¡¡EXITO!!";
                cadena += "\n\n--------------------------------------\n\n";
                System.IO.File.AppendAllText(ruta, cadena);

                // --------------------------------------------------------------

                /************** PEDIDOS Y FACTURAS *************/

                //LINEAPEDIDO
                LineaPedidoEN lineaPedidoEN = new LineaPedidoEN();
                lineaPedidoEN.Unidades = 2;
                lineaPedidoEN.Precio   = entradaEN.Precio * lineaPedidoEN.Unidades;
                // Asocia un producto
                lineaPedidoEN.Producto = entradaEN;
                // Como es una composicion, no es necesario hacer el new, ya lo hara pedido
                // creamos la lista de pedidos que Pedido debera crear y asociar.
                IList <LineaPedidoEN> listaLineasPedido = new List <LineaPedidoEN>();
                listaLineasPedido.Add(lineaPedidoEN);

                // PEDIDO
                cadena = "\n\nCREANDO PEDIDO PASANDO LINEAPEDIDO... ";

                PedidoEN pedidoEN = new PedidoEN();
                pedidoEN.Fecha  = new DateTime(2012, 11, 8);
                pedidoEN.Estado = AppEstadioGenNHibernate.Enumerated.AppEstadio.EstadoPedidoEnum.pendiente;
                pedidoEN.Precio = 25.1f;
                pedidoEN.Id     = pedidoCEN.New_(pedidoEN.Fecha, pedidoEN.Estado, listaLineasPedido, clienteEN.Nif, pedidoEN.Precio);     // Aqui se le debe pasar clienteEN.Nif porque no es autogenerado

                cadena += " ¡¡EXITO!!";
                cadena += "\n\n--------------------------------------\n\n";
                System.IO.File.AppendAllText(ruta, cadena);



                /************** PRUEBAS DE CUSTOM *************/

                /*
                 *      // IncrementarStock
                 *      cadena = "\n\nPROBANDO IncrementarStock\n";
                 *      cadena += "\nStock de camisetas inicial = " + pTazaEN.Stock + "\n\n";
                 *      cadena += "Incrementando Stock en 10 unidades...";
                 *
                 *      productoCEN.IncrementarStock (pTazaEN.Id, 10);
                 *      pTazaEN = _IProductoCAD.ReadOID (pTazaEN.Id); // Recogemos el producto modificado
                 *
                 *      cadena += "\n\nStock de camisetas final = " + pTazaEN.Stock;
                 *      cadena += "\n\n--------------------------------------\n\n";
                 *      System.IO.File.AppendAllText (ruta, cadena);
                 *
                 *      // DecrementarStock
                 *      cadena = "\n\nPROBANDO DecrementarStock segun las unidades de lineaPedido\n";
                 *      cadena += "\nStock de camisetas inicial = " + pTazaEN.Stock + "\n\n";
                 *      cadena += "Decrementando Stock en 5 unidades...";
                 *
                 *      productoCEN.DecrementarStock (pTazaEN.Id, 5);
                 *      // Recogemos el producto modificado
                 *      pTazaEN = _IProductoCAD.ReadOID (pTazaEN.Id);
                 *
                 *      cadena += "\n\nStock de camisetas final = " + pTazaEN.Stock;
                 *      cadena += "\n\n--------------------------------------\n\n";
                 *      System.IO.File.AppendAllText (ruta, cadena);
                 *
                 *      // ComprobarStock, indica si hay suficientes unidades de stock con respecto a las que se van a pedir
                 *      cadena = "\n\nPROBANDO ComprobarStock\n\n";
                 *      int decre = 35;
                 *      cadena = "El producto Camiseta tiene " + pTazaEN.Stock + " en stock, pedimos " + decre + " unidades...\n";
                 *      if (productoCEN.ComprobarStock (pTazaEN.Id, decre)) {
                 *                      cadena += "\nSe puede realizar el pedido, aun quedan unidades en stock";
                 *      }
                 *      else {
                 *                      cadena += "\nNo quedan unidades suficientes para realizar el pedido";
                 *      }
                 *
                 *      cadena += "\n\n--------------------------------------\n\n";
                 *      System.IO.File.AppendAllText (ruta, cadena);
                 */

                /************** HQL *************/
                // BUSQUEDA POR NOMBRE
                cadena = "\n\nOBTENIENDO PRODUCTOS POR NOMBRE: 'camiseta'\n\n";
                IList <ProductoEN> resultados = new List <ProductoEN>();
                string             termino    = "camiseta";
                resultados = productoCEN.GetProductosPorNombre(termino);

                cadena += "\nEncontrados " + resultados.Count + " productos\n\n";

                foreach (ProductoEN r in resultados)
                {
                    cadena += "Nombre: " + r.Nombre + "\n" +
                              "Descripcion: " + r.Descripcion + "\n" +
                              "Precio: " + r.Precio + "\n" +
                              "Stock: " + r.Stock + "\n" +
                              "\n";
                }

                cadena += "\n\n--------------------------------------\n\n";
                System.IO.File.AppendAllText(ruta, cadena);

                // BUSQUEDA POR DESCRIPCION
                cadena = "\n\nOBTENIENDO PRODUCTOS POR DESCRIPCION: 'UMH Top Stars'\n\n";
                resultados.Clear();
                termino    = "UMH Top Stars";
                resultados = productoCEN.GetProductosPorDescripcion(termino);

                cadena += "\nEncontrados " + resultados.Count + " productos\n\n";

                foreach (ProductoEN r in resultados)
                {
                    cadena += "Nombre: " + r.Nombre + "\n" +
                              "Descripcion: " + r.Descripcion + "\n" +
                              "Precio: " + r.Precio + "\n" +
                              "Stock: " + r.Stock + "\n" +
                              "\n";
                }

                cadena += "\n\n--------------------------------------\n\n";
                System.IO.File.AppendAllText(ruta, cadena);

                // BUSQUEDA POR RANGO DE PRECIO
                cadena = "\n\nOBTENIENDO PRODUCTOS POR RANGO DE PRECIO: min = 5, max = 20\n\n";
                resultados.Clear();
                float min = 5;
                float max = 20;

                resultados = productoCEN.GetProductosPorRangoPrecio(min, max);

                cadena += "\nEncontrados " + resultados.Count + " productos\n\n";

                foreach (ProductoEN r in resultados)
                {
                    cadena += "Nombre: " + r.Nombre + "\n" +
                              "Descripcion: " + r.Descripcion + "\n" +
                              "Precio: " + r.Precio + "\n" +
                              "Stock: " + r.Stock + "\n" +
                              "\n";
                }

                cadena += "\n\n--------------------------------------\n\n";
                System.IO.File.AppendAllText(ruta, cadena);

                // OBTENER PEDIDOS ENTRE FECHAS
                cadena = "\n\nOBTENIENDO PEDIDOS POR RANGO DE FECHA\n\n";
                resultados.Clear();
                DateTime         fecha_min  = new DateTime(2012, 10, 8);
                DateTime         fecha_max  = new DateTime(2012, 12, 8);
                IList <PedidoEN> resPedidos = new List <PedidoEN>();
                resPedidos = pedidoCEN.GetPedidosEntreFechas(fecha_min, fecha_max);

                cadena += "\nEncontrados " + resPedidos.Count + " pedidos\n\n";

                foreach (PedidoEN r in resPedidos)
                {
                    cadena += "Fecha: " + r.Fecha + "\n" +
                              "Estado: " + r.Estado + "\n" +
                              "Cliente: " + r.Cliente.Nif + "\n" +
                              "\n";
                }

                cadena += "\n\n--------------------------------------\n\n";
                System.IO.File.AppendAllText(ruta, cadena);

                System.Console.WriteLine("\n\n\nEL FICHERO PRUEBAS.TXT DENTRO DE LA CARPETA INITIALIZEDB CONTIENE EL RESULTADO DE TODAS LAS PRUEBAS REALIZADAS\n\n");

                /*PROTECTED REGION END*/
            }
            catch (Exception ex)
            {
                System.Console.WriteLine(ex.InnerException);
                throw ex;
            }
        }
Example #19
0
        // Decrementa el stock, genera factura y devuelve su id
        public int EnviarPedidoGenerarFactura(int idPedido)
        {
            int resul = -1;

            try
            {
                SessionInitializeTransaction();

                bool correcto = true;

                // Recoger el pedido
                PedidoCAD pedidoCAD = new PedidoCAD(session);
                PedidoEN  pedidoEN  = new PedidoEN();
                pedidoEN = pedidoCAD.ReadOID(idPedido);
                ProductoCAD productoCAD = new ProductoCAD(session);
                ProductoCEN productoCEN = new ProductoCEN(productoCAD);

                IList <LineaFacturaEN> lineasFactura = new List <LineaFacturaEN>();

                foreach (LineaPedidoEN linea in pedidoEN.LineaPedido)
                {
                    ProductoEN producto = linea.Producto;
                    productoCEN.DecrementarStock(producto.Id, linea.Unidades);

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

                    if (linea.Producto.Stock < linea.Unidades)                     // No hay stock, no se envia el pedido
                    {
                        correcto = false;
                        break;
                    }
                    for (int i = 0; correcto && i < linea.Unidades; i++)
                    {
                        idArticulos.Add(producto.Articulo[i].Id);
                    }

                    ArticuloCAD aCAD = new ArticuloCAD(session);
                    ArticuloCEN aCEN = new ArticuloCEN(aCAD);

                    for (int i = 0; i < idArticulos.Count; i++)
                    {
                        aCEN.Destroy(idArticulos[i]);
                    }


                    // Creamos las lineas de factura para esta linea de pedido
                    for (int i = 0; i < linea.Unidades; i++)
                    {
                        LineaFacturaEN lfEN = new LineaFacturaEN();
                        lfEN.Articulo = producto.Articulo[i];
                        lineasFactura.Add(lfEN);                         // Luego el new de factura creara las lineas
                    }
                }

                // Generar la factura
                FacturaCAD facturaCAD = new FacturaCAD(session);
                FacturaCEN facturaCEN = new FacturaCEN(facturaCAD);
                FacturaEN  facturaEN  = new FacturaEN();

                facturaEN.Fecha       = DateTime.Now;
                facturaEN.PrecioTotal = pedidoEN.Precio;
                facturaEN.Pedido      = pedidoEN;

                facturaEN.Id = facturaCEN.New_(pedidoEN.Id, facturaEN.PrecioTotal, lineasFactura, facturaEN.Fecha);


                if (correcto)
                {
                    resul = 1;
                }


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

            return(resul);
        }
        public void Finalizar_compra(int p_Carrito_OID, float p_precio)
        {
            /*PROTECTED REGION ID(DSM1GenNHibernate.CP.DSM1_Carrito_finalizar_compra) ENABLED START*/

            ICarritoCAD carritoCAD = null;
            CarritoCEN  carritoCEN = null;

            IPedidoCAD pedidoCAD = null;
            PedidoCEN  pedidoCEN = null;

            IArticuloCAD articuloCAD = null;
            ArticuloCEN  articuloCEN = null;


            try
            {
                SessionInitializeTransaction();
                carritoCAD = new CarritoCAD(session);
                carritoCEN = new CarritoCEN(carritoCAD);

                pedidoCAD = new PedidoCAD(session);
                pedidoCEN = new PedidoCEN(pedidoCAD);

                articuloCAD = new ArticuloCAD(session);  //SU CEN ESTA MAS ABAJO


                int usuario = carritoCEN.get_ICarritoCAD().ReadOIDDefault(p_Carrito_OID).Registrado.Id;
                IList <LineaPedidoEN> listaLineas = carritoCEN.get_ICarritoCAD().ReadOIDDefault(p_Carrito_OID).LineaPedido;

                //NEW PEDIDO
                int pedidoid = pedidoCEN.New_("", DateTime.Now, usuario);

                //ANYADIR LINEAS
                IList <int> lineasId = new List <int>();
                foreach (LineaPedidoEN linea in listaLineas)
                {
                    lineasId.Add(linea.Id);
                }

                pedidoCEN.Anyadir_linea(pedidoid, lineasId);

                //DECREMENTAR STOCK
                foreach (LineaPedidoEN linea in listaLineas)
                {
                    articuloCEN = new ArticuloCEN(articuloCAD);

                    if (!articuloCEN.Quitar_stock(linea.Articulo.Id, linea.Cantidad))
                    {
                        Exception ex = new Exception("TE HAS PASADO DE CANTIDAD CHACHO");
                        throw ex;
                    }
                }

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

                //VACIAR CARRITO
                carritoCEN.Vaciar_carrito(p_Carrito_OID, lineasId);

                carritoEN = carritoCEN.get_ICarritoCAD().ReadOIDDefault(p_Carrito_OID);


                //CarritoEN carritoEN = null;
                carritoEN = null;

                //Initialized CarritoEN
                carritoEN        = new CarritoEN();
                carritoEN.Id     = p_Carrito_OID;
                carritoEN.Precio = 0;

                //Call to CarritoCAD
                carritoCAD.Finalizar_compra(carritoEN);


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


            /*PROTECTED REGION END*/
        }
Example #21
0
/*PROTECTED REGION ID(AppEstadioGen_GestorLocal_Other_Operations) ENABLED START*/


        public bool crearProducto(string nombre, string descripcion, float precio, string color, int tipo, int stock, string foto)
        {
            bool resul = false;

            try
            {
                using (ISession session = NHibernateHelper.OpenSession())
                    using (ITransaction tr = session.BeginTransaction())
                    {
                        TiendaEN    productoEN  = new TiendaEN();
                        ArticuloCAD articuloCAD = new ArticuloCAD();
                        ArticuloCEN articuloCEN = new ArticuloCEN(articuloCAD);
                        TiendaCAD   tiendaCAD   = new TiendaCAD();
                        TiendaCEN   tiendaCEN   = new TiendaCEN(tiendaCAD);

                        productoEN.Categoria   = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaEnum.tienda;
                        productoEN.Tipo        = AppEstadioGenNHibernate.Enumerated.AppEstadio.CategoriaTiendaEnum.calzado;
                        productoEN.Nombre      = nombre;
                        productoEN.Descripcion = descripcion;
                        productoEN.Precio      = precio;
                        productoEN.Stock       = stock;
                        productoEN.Foto        = foto;
                        productoEN.Color       = color;

                        productoEN.Id = tiendaCEN.New_(productoEN.Nombre, productoEN.Descripcion, productoEN.Foto,
                                                       productoEN.Precio, productoEN.Stock, productoEN.Categoria,
                                                       productoEN.Color, productoEN.Tipo);

                        // Recogemos las tallas de la categoria de ropa
                        IList <TallaEN> listaTallas   = getTallasPorTipo(tipo);
                        IList <int>     listaTallasId = new List <int>();

                        if (listaTallas.Count > 0)
                        {
                            for (int i = 0; i < listaTallas.Count; i++)
                            {
                                listaTallasId.Add(listaTallas[i].Id);
                            }
                        }

                        tiendaCEN.AgregaTalla(productoEN.Id, listaTallasId);

                        // ARTICULOS ASOCIADOS, TANTOS COMO STOCK
                        for (int i = 0; i < productoEN.Stock; i++)
                        {
                            ArticuloEN aProductoEN = new ArticuloEN();
                            aProductoEN.Producto = productoEN;             // Lo asociamos con su producto

                            articuloCEN.New_(aProductoEN.Producto.Id);
                        }

                        resul = true;
                        tr.Commit();
                    }
            }

            catch (Exception ex)
            {
                throw ex;
            }

            return(resul);
        }