Example #1
0
        // GET: Articulo/Details/5
        public ActionResult Details(int id)
        {
            SessionInitialize();
            ProductoCAD cad = new ProductoCAD(session);

            ProductoCEN cen = new ProductoCEN(cad);
            ProductoEN  en  = cen.ReadOID(id);

            AssemblerProducto ass = new AssemblerProducto();
            Producto          sol = ass.ConvertENToModelUI(en);


            IList <ComentarioEN> ten = en.Comentario;

            AssemblerComentario assc = new AssemblerComentario();
            IList <Comentario>  solc = assc.ConvertListENToModel(ten);

            SessionClose();

            System.Web.HttpContext.Current.Session["comen"] = id;



            // ViewData["action"] = "Details";
            ViewBag.coment = solc;
            return(View(sol));
        }
Example #2
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 #3
0
// Elimina una lista de productos por id
        public void eliminarProductos(IList <int> lista)
        {
            try
            {
                using (ISession session = NHibernateHelper.OpenSession())
                    using (ITransaction tr = session.BeginTransaction())
                    {
                        if (lista.Count > 0)
                        {
                            ProductoCAD productoCAD = new ProductoCAD(session);
                            ProductoCEN productoCEN = new ProductoCEN(productoCAD);
                            ProductoCP  productoCP  = new ProductoCP(session);

                            for (int i = 0; i < lista.Count; i++)
                            {
                                productoCP.eliminarArticulosDeProducto(lista[i]);
                                productoCEN.Destroy(lista[i]);
                            }
                        }


                        tr.Commit();
                    }
            }

            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #4
0
        public ActionResult Delete(int id, FormCollection collection)
        {
            try
            {
                // TODO: Add delete logic here
                SessionInitialize();
                ComentarioCAD cad = new ComentarioCAD(session);

                ComentarioCEN cen = new ComentarioCEN(cad);


                ComentarioEN en = new ComentarioEN();
                en = cen.ReadOID(id);


                AssemblerComentario ass = new AssemblerComentario();

                Comentario sol  = ass.ConvertENToModelUI(en);
                string     tipo = null;


                ProductoCAD cadp = new ProductoCAD(session);
                ProductoCEN cenp = new ProductoCEN(cadp);
                ProductoEN  enp  = cenp.ReadOID(sol.idsup);


                EventoCAD cade = new EventoCAD(session);
                EventoCEN cene = new EventoCEN(cade);
                EventoEN  ene  = cene.ReadOID(sol.idsup);



                if (ene != null)
                {
                    tipo = "Evento";
                }
                else if (enp != null)
                {
                    tipo = "Producto";
                }
                else
                {
                    tipo = sol.tipo;
                }

                SessionClose();
                ComentarioCEN cenn = new ComentarioCEN();


                cenn.Destroy(id);



                return(RedirectToAction("Details", tipo, new { id = sol.idsup }));
            }
            catch
            {
                return(View());
            }
        }
Example #5
0
        // GET: HomeUsuario
        public ActionResult Index()
        {
            SessionInitialize();
            SliderCAD            sliCAD    = new SliderCAD(session);
            SliderCEN            sliCEN    = new SliderCEN(sliCAD);
            IList <SliderEN>     listSliEN = sliCEN.MuestraSliders(0, -1);
            IEnumerable <Slider> lista     = new AssemblerSlider().ConvertListENToModel(listSliEN).ToList();

            SessionClose();
            SessionInitialize();
            ProductoCAD            cadArt     = new ProductoCAD(session);
            CategoriaCAD           cadCat     = new CategoriaCAD(session);
            ProductoCEN            cen        = new ProductoCEN(cadArt);
            IList <ProductoEN>     listProdEn = cen.MuestraProductos(0, -1); //DameProductosPorCat(id); Falta implementar este hql
            IEnumerable <Producto> listProds  = new AssemblerProducto().ConvertListENToModel(listProdEn).ToList();

            //CategoriaEN catEN = cadCat.ReadOIDDefault(id);
            SessionClose();
            SessionInitialize();
            IEnumerable <Producto> listprods2 = new AssemblerProducto().ConvertListENToModel(new ProductoCEN(new ProductoCAD(session)).GetTopVentas()); //GetProductosByNombre(Convert.ToString(form["prod"]), 0, -1));

            SessionClose();
            var tuple2 = Tuple.Create(lista, listProds, listprods2);

            return(View(tuple2));
        }
Example #6
0
 private void inicializar(int id, string nombre, double precio, int cantidadstock)
 {
     Id            = id;
     Nombre        = nombre;
     Precio        = precio;
     CantidadStock = cantidadstock;
     _cad          = new ProductoCAD();
 }
Example #7
0
        // GET: Producto/Details/5
        public ActionResult Details(int id)
        {
            Producto prod = null;

            SessionInitialize();
            ProductoEN prodEN = new ProductoCAD(session).ReadOIDDefault(id);

            prod = new AssemblerProducto().ConvertENToModelUI(prodEN);
            SessionClose();
            return(View(prod));
        }
Example #8
0
        // GET: Producto

        //[Authorize] quien este autorizado podrá acceder
        //GARANTIZAR 100%
        //[AllowAnonymous] -> asegura que una persona anónima puede acceder
        public ActionResult Index(/*int id*/)
        {
            SessionInitialize();
            ProductoCAD            cadArt     = new ProductoCAD(session);
            CategoriaCAD           cadCat     = new CategoriaCAD(session);
            ProductoCEN            cen        = new ProductoCEN(cadArt);
            IList <ProductoEN>     listProdEn = cen.MuestraProductos(0, -1); //DameProductosPorCat(id); Falta implementar este hql
            IEnumerable <Producto> listProds  = new AssemblerProducto().ConvertListENToModel(listProdEn).ToList();

            //CategoriaEN catEN = cadCat.ReadOIDDefault(id);
            SessionClose();
            return(View(listProds));
        }
Example #9
0
        public void Confirmar(int p_oid)
        {
            /*PROTECTED REGION ID(PracticaGenNHibernate.CP.Practica_Pedido_confirmar) ENABLED START*/

            IPedidoCAD pedidoCAD = null;
            PedidoCEN  pedidoCEN = null;
            PedidoEN   pedidoEN  = null;

            IProductoCAD productoCAD = null;
            ProductoCEN  productoCEN = null;


            try
            {
                SessionInitializeTransaction();

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

                productoCAD = new ProductoCAD(session);
                productoCEN = new ProductoCEN(productoCAD);

                pedidoEN = pedidoCEN.ReadOID(p_oid);

                IList <LineaPedidoEN> lineas = pedidoEN.LineaPedido;

                foreach (LineaPedidoEN l in lineas)
                {
                    productoCEN.IncrementarNumVeces(l.Producto.Id, l.Cantidad);
                    int veces = l.Producto.NumVeces;
                }

                pedidoEN.Confirmado = true;



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


            /*PROTECTED REGION END*/
        }
Example #10
0
        public BaseDatosGenNHibernate.EN.BaseDatos.PedidoEN EnviarPedido(Nullable <DateTime> p_Fecha, int p_pedido)
        {
            /*PROTECTED REGION ID(BaseDatosGenNHibernate.CP.BaseDatos_Pedido_enviarPedido) ENABLED START*/

            BaseDatosGenNHibernate.EN.BaseDatos.PedidoEN result = null;

            try
            {
                SessionInitializeTransaction();

                IPedidoCAD   pedidoCAD = new PedidoCAD(session);
                IProductoCAD prodCAD   = new ProductoCAD(session);
                IEnvioCAD    envioCAD  = new EnvioCAD(session);

                PedidoCEN   pedidoCEN = new PedidoCEN(pedidoCAD);
                ProductoCEN prodCEN   = new ProductoCEN(prodCAD);
                EnvioCEN    envioCEN  = new EnvioCEN(envioCAD);

                PedidoEN pedidoEN = pedidoCEN.MuestraPedidoPorOID(p_pedido);

                if (pedidoEN.Estado == Enumerated.BaseDatos.EstadoPedidoEnum.Pagado)
                {
                    foreach (LineaPedidoEN lnEN in pedidoEN.LineaPedido)
                    {
                        ProductoEN prodEN = lnEN.Producto;
                        prodCEN = new ProductoCEN(prodCAD);
                        prodCEN.DecrementaStock(prodEN.Id, lnEN.Cantidad);
                    }

                    pedidoEN.Estado = Enumerated.BaseDatos.EstadoPedidoEnum.Enviado;
                    pedidoCAD.Modify(pedidoEN);
                    envioCEN = new EnvioCEN(envioCAD);
                    envioCEN.New_(DateTime.Now, p_Fecha, Enumerated.BaseDatos.EstadoEnvioEnum.EnCamino, p_pedido);
                }

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


            /*PROTECTED REGION END*/
        }
        public void RealizarValoracion(int p_usuario, int p_producto, double p_valor)
        {
            /*PROTECTED REGION ID(BaseDatosGenNHibernate.CP.BaseDatos_Usuario_realizarValoracion) ENABLED START*/

            try
            {
                SessionInitializeTransaction();

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

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

                valoracionCEN.New_(p_valor, p_usuario, p_producto);

                ProductoEN productoEN = prodCEN.MuestraProductoPorOID(p_producto);

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

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

                v_Total = v_Media / v_Num;

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

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


            /*PROTECTED REGION END*/
        }
Example #12
0
        // GET: HomeUsuario/Details/5
        public ActionResult Details(int id)
        {
            Producto prod = null;

            SessionInitialize();
            ProductoEN prodEN = new ProductoCAD(session).ReadOIDDefault(id);

            prod = new AssemblerProducto().ConvertENToModelUI(prodEN);
            SessionClose();
            SessionInitialize();
            IEnumerable <Comentario> listcoms = new AssemblerComentario().ConvertListENToModel(new ComentarioCEN(new ComentarioCAD(session)).GetAllComentariosByProducto(id, 0, 10)); //GetProductosByNombre(Convert.ToString(form["prod"]), 0, -1));

            SessionClose();

            var tuple2 = Tuple.Create(prod, listcoms);

            return(View(tuple2));
        }
Example #13
0
        public ActionResult BusquedaPost(string nombre)
        {
            try
            {
                SessionInitialize();
                ProductoCAD        pCAD = new ProductoCAD(session);
                ProductoCEN        pCEN = new ProductoCEN(pCAD);
                AssemblerProducto  assemblerProducto = new AssemblerProducto();
                IList <ProductoEN> listaP            = pCEN.BuscarProducto(nombre);
                IList <Producto>   Return            = assemblerProducto.ConvertListENToModel(listaP, session);
                SessionClose();

                return(View(Return));
            }
            catch
            {
                return(View());
            }
        }
Example #14
0
        public System.Collections.Generic.IList <ProductoEN> getProductosPorRangoPrecio(float min, float max)
        {
            System.Collections.Generic.IList <ProductoEN> en = null;
            ProductoCAD productoCAD = null;

            try
            {
                using (ISession session = NHibernateHelper.OpenSession())
                    using (ITransaction tr = session.BeginTransaction())
                    {
                        productoCAD = new ProductoCAD(session);
                        en          = productoCAD.GetProductosPorRangoPrecio(min, max);
                        tr.Commit();
                    }
            }

            catch (Exception ex)
            {
                throw ex;
            }

            return(en);
        }
Example #15
0
// Obtiene un producto por ID
        public ProductoEN getProductoPorId(int idProducto)
        {
            ProductoEN  producto    = null;
            ProductoCAD productoCAD = null;

            try
            {
                using (ISession session = NHibernateHelper.OpenSession())
                    using (ITransaction tr = session.BeginTransaction())
                    {
                        productoCAD = new ProductoCAD(session);
                        producto    = productoCAD.ReadOID(idProducto);
                        tr.Commit();
                    }
            }

            catch (Exception ex)
            {
                throw ex;
            }

            return(producto);
        }
Example #16
0
        public ActionResult Index() //Productos Agotados
        {
            SessionInitialize();
            ProductoCAD        cadArt       = new ProductoCAD(session);
            CategoriaCAD       cadCat       = new CategoriaCAD(session);
            ProductoCEN        cen          = new ProductoCEN(cadArt);
            IList <ProductoEN> listProdEn   = cen.MuestraProductos(0, -1); //DameProductosPorCat(id); Falta implementar este hql
            IList <ProductoEN> listAgotados = new List <ProductoEN>();

            foreach (ProductoEN cosaProds in listProdEn)
            {
                if (cosaProds.Stock == 0)
                {
                    listAgotados.Add(cosaProds);
                }
            }

            IEnumerable <Producto> listProds = new AssemblerProducto().ConvertListENToModel(listAgotados).ToList();

            //CategoriaEN catEN = cadCat.ReadOIDDefault(id);
            SessionClose();
            return(View(listProds));
        }
Example #17
0
        // GET: Producto/Delete/5
        public ActionResult Delete(int id)
        {
            try
            {
                // TODO: Add delete logic here
                int idCategoria = -1;
                SessionInitialize();
                ProductoCAD prodCAD = new ProductoCAD(session);
                ProductoCEN cen     = new ProductoCEN(prodCAD);
                ProductoEN  prodEN  = cen.MuestraProductoPorOID(id);
                Producto    prod    = new AssemblerProducto().ConvertENToModelUI(prodEN);
                idCategoria = prod.IdCategoria;
                SessionClose();

                new ProductoCEN().Destroy(id);


                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Example #18
0
        //metodo que inserta e actualiza un nuevo producto
        public bool insertarActualizarProducto()
        {
            ProductoCAD producto = new ProductoCAD(this);

            return(producto.insertarActualizarProducto());
        }
Example #19
0
 //metodo que inserta un nuevo producto
 public int nuevoProducto()
 {
     return(ProductoCAD.nuevoProducto());
 }
Example #20
0
        //metodo que borra un producto
        public bool borrarProducto()
        {
            ProductoCAD producto = new ProductoCAD(this);

            return(producto.borrarProducto());
        }
Example #21
0
 //metodo que devuelve un producto pasandole una id
 public ProductoEN productoPorId()
 {
     return(ProductoCAD.productoPorId(this.ProductoId));
 }
Example #22
0
 //metodo que devuelve todos los productos
 public ProductoEN[] dameTodosProductos()
 {
     return(ProductoCAD.obtenerProductos());
 }
Example #23
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 #24
0
 public ProductoEN()
 {
     _cad = new ProductoCAD();
 }
Example #25
0
 /// <summary>
 /// Confirma los cambios del Producto en la DB. Inserta o modifica.
 /// </summary>
 /// <returns>Devuelve true si se llevó a cabo la insercion/acatualizacion o false en caso contrario</returns>
 public bool commitDB()
 {
     // Inserta en la DB si no existe y lo actualiza si ya existía
     ProductoCAD cad = new ProductoCAD(this);
     return cad.insertarActualizar();
 }
Example #26
0
 /// <summary>
 /// Borra el Producto actual de la DB
 /// </summary>
 /// <returns>Devuelve true si se borró con éxito o false en caso contrario</returns>
 public bool borrarDB()
 {
     // Borra el Producto actual de la DB
     ProductoCAD cad = new ProductoCAD(this);
     return cad.borrar();
 }
Example #27
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);
        }