protected void Actualizar(object sender, EventArgs e)
        {
            var cen = new ProductoCEN();

            cen.ModificarProducto(int.Parse(Request["id"]), float.Parse(Precio.Text), Nombre.Text, int.Parse(Cantidad.Text));
            Response.Redirect("AdministrarProductos.aspx");
        }
Exemple #2
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));
        }
Exemple #3
0
        public ActionResult Edit(int id, Producto collection)
        {
            try
            {
                string action     = System.Web.HttpContext.Current.Session["action"] as String;
                string controller = System.Web.HttpContext.Current.Session["controller"] as String;
                Object arg        = System.Web.HttpContext.Current.Session["arg"];

                // TODO: Add update logic here
                ProductoCEN cen = new ProductoCEN();

                ProductoEN en  = cen.get_IProductoCAD().ReadOIDDefault(id);
                string     img = collection.Imagen;

                if (collection.Imagen == null)
                {
                    img = en.Imagen;
                }

                cen.Modify(id, collection.Nombre, collection.Precio, collection.Descripcion, img, (SMPGenNHibernate.Enumerated.SMP.ValoracionEnum)collection.Valoracion, collection.Stock, en.Descriplarga, en.Imagran, collection.Talla);

                //cen.New_(collection.Nombre, collection.Precio, collection.Descripcion, collection.Imagen, collection.Valor, collection.Stock, collection.Talla);

                return(RedirectToAction(action, controller, arg));
            }
            catch
            {
                return(View());
            }
        }
Exemple #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());
            }
        }
Exemple #5
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;
            }
        }
Exemple #6
0
        public ActionResult Create(Producto pro, HttpPostedFileBase file)
        {
            string fileName = "", path = "";

            // Verify that the user selected a file
            if (file != null && file.ContentLength > 0)
            {
                // extract only the fielname
                fileName = Path.GetFileName(file.FileName);
                // store the file inside ~/App_Data/uploads folder
                path = Path.Combine(Server.MapPath("~/Images/Uploads"), fileName);
                //string pathDef = path.Replace(@"\\", @"\");
                file.SaveAs(path);
            }
            try
            {
                // TODO: Add insert logic here
                fileName = "/Images/Uploads/" + fileName;
                ProductoCEN pred = new ProductoCEN();
                pred.New_((double)pro.Precio, pro.Nombre, fileName, pro.NumVeces);

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Exemple #7
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));
        }
Exemple #8
0
        public ActionResult compra(int id)
        {
            SessionInitialize();
            CarritoCAD cad = new CarritoCAD(session);

            CarritoCEN cen = new CarritoCEN(cad);
            CarritoEN  en  = cen.ReadOID(id);

            AssemblerCarrito ass = new AssemblerCarrito();
            Carrito          sol = ass.ConvertENToModelUI(en);


            IList <Lineas_pedidoEN> ten = en.Lineas_pedido;

            AssemblerLineas_pedido assc = new AssemblerLineas_pedido();
            IList <Lineas_pedido>  solc = assc.ConvertListENToModel(ten);

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


            foreach (Lineas_pedido linea in solc)
            {
                vamos.Add(linea.id);
                EventoCEN   cene = new EventoCEN();
                ProductoCEN cenp = new ProductoCEN();
                if (linea.tipo == "Producto")
                {
                    ProductoEN enp  = cenp.ReadOID(linea.articulo);
                    int        cant = enp.Stock - linea.cantidad;
                    cenp.Modify(linea.articulo, enp.Nombre, enp.Precio, enp.Descripcion, enp.Imagen, enp.Valor, cant, enp.Descriplarga, enp.Imagran, enp.Talla);
                }
                else
                {
                    EventoEN ene  = cene.ReadOID(linea.articulo);
                    int      cant = ene.Stock - linea.cantidad;
                    cene.Modify(linea.articulo, ene.Nombre, ene.Precio, ene.Descripcion, ene.Imagen, ene.Valor, cant, ene.Descriplarga, ene.Imagran, ene.Tipo);
                }
            }



            SessionClose();


            CarritoCEN fin = new CarritoCEN();

            fin.Modify(id, 0);
            fin.Dellinea(id, vamos);



            //cen.Dellinea(id, vamos);



            ViewData["correo"] = System.Web.HttpContext.Current.Session["correo"] as string;
            // ViewData["action"] = "Details";
            return(RedirectToAction("Details", "Carrito", new { id = id }));
        }
        private void Eliminar()
        {
            var id  = int.Parse(Request["id"]);
            var cen = new ProductoCEN();

            cen.BorrarProducto(id);
            Response.Redirect("EliminarProducto.aspx");
        }
        protected void CrearProducto(object sender, EventArgs e)
        {
            var cad       = new ProductoCEN();
            var productos = cad.DameTodosLosProductos(0, 100);
            var id        = productos.Max(p => p.IdProducto) + 1;

            cad.CrearProducto(id, float.Parse(Precio.Text), "admin", Categoria.SelectedItem.Text.ToLower(),
                              Nombre.Text, int.Parse(Cantidad.Text));
            Response.Redirect("AdministrarProductos.aspx");
        }
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         _nombre = Request["nombre"];
         var cen = new ProductoCEN();
         _p = cen.DamePorNombre(_nombre).ElementAt(0);
         InformacionActual();
     }
 }
Exemple #12
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));
        }
Exemple #13
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*/
        }
Exemple #14
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*/
        }
        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*/
        }
Exemple #16
0
        // GET: Articulo
        public ActionResult Index()
        {
            ProductoCEN        cen     = new ProductoCEN();
            IList <ProductoEN> enlinst = cen.ReadAll(0, int.MaxValue);
            AssemblerProducto  ass     = new AssemblerProducto();
            IList <Producto>   listart = ass.ConvertListENToModel(enlinst);

            //articuloAsembler.covert

            System.Web.HttpContext.Current.Session["controller"] = "Producto";
            System.Web.HttpContext.Current.Session["action"]     = "Index";
            System.Web.HttpContext.Current.Session["arg"]        = null;


            return(View(listart));
        }
Exemple #17
0
        // GET: Articulo/Delete/5
        public ActionResult Delete(int id)
        {
            ProductoCEN cen = new ProductoCEN();

            ProductoEN en = new ProductoEN();

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

            ViewData["controller"] = System.Web.HttpContext.Current.Session["controller"] as String;
            ViewData["action"]     = System.Web.HttpContext.Current.Session["action"] as String;
            ViewData["arg"]        = System.Web.HttpContext.Current.Session["arg"];


            return(View(sol));
        }
Exemple #18
0
        public ActionResult Filtrar(FiltroProducto collection)
        {
            try
            {
                ProductoCEN        cen = new ProductoCEN();
                IList <ProductoEN> res = null, aux = null;
                // TODO: Add delete logic here
                res = cen.ReadAll(0, int.MaxValue);

                if (!(collection.Preciobol == false || collection.Preciomin <= 0 || collection.Preciomax <= 0 || collection.Preciomax <= collection.Preciomin))
                {
                    aux = cen.Filtroprecio(collection.Preciomin, collection.Preciomax);
                    res = res.Intersect(aux).ToList();
                }
                if (collection.Nombrebol == true && collection.Nombre != null)
                {
                    aux = cen.Filtronombre(collection.Nombre);
                    res = res.Intersect(aux).ToList();
                }
                if (collection.tallabol == true && collection.Talla != null)
                {
                    aux = cen.Filtrotalla(collection.Talla);
                    res = res.Intersect(aux).ToList();
                }

                if (collection.Valoracionbol == true && collection.Valoracion > 0 && collection.Valoracion < 6)
                {
                    aux = cen.Filtrovalor((SMPGenNHibernate.Enumerated.SMP.ValoracionEnum)collection.Valoracion);
                    res = res.Intersect(aux).ToList();
                }
                AssemblerProducto ass     = new AssemblerProducto();
                IList <Producto>  listart = ass.ConvertListENToModel(res);


                System.Web.HttpContext.Current.Session["resu"] = listart;

                return(RedirectToAction("Resultadobusqueda", "Producto", null));

                // return View("Resultadobusqueda", listart);
            }
            catch
            {
                return(View());
            }
        }
Exemple #19
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());
            }
        }
Exemple #20
0
        public ActionResult IndexDel()
        {
            SessionInitialize();
            ProductoCEN        pred   = new ProductoCEN(new ProductoCAD());
            IList <ProductoEN> predEn = pred.ReadAll(0, -1);

            IList <ProductoEN> definitiva = new List <ProductoEN>();

            foreach (ProductoEN p in predEn)
            {
                if (!p.GetType().Name.Equals("PersonalizableEN"))
                {
                    definitiva.Add(p);
                }
            }
            IEnumerable <Producto> list = new AssemblerProducto().ConvertListENToModel(definitiva, session).ToList();

            SessionClose();
            return(View(list));
        }
Exemple #21
0
        public ActionResult Delete(int id, FormCollection collection)
        {
            try
            {
                string action     = System.Web.HttpContext.Current.Session["action"] as String;
                string controller = System.Web.HttpContext.Current.Session["controller"] as String;
                Object arg        = System.Web.HttpContext.Current.Session["arg"];


                // TODO: Add delete logic here
                ProductoCEN cen = new ProductoCEN();

                cen.Destroy(id);
                return(RedirectToAction(action, controller, arg));
                //return RedirectToAction("Index");
            }
            catch
            {
                return(View());
            }
        }
Exemple #22
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));
        }
Exemple #23
0
        public ActionResult Create(Producto collection)
        {
            try
            {
                // TODO: Add insert logic here
                ProductoCEN cen = new ProductoCEN();

                cen.New_(collection.Nombre, collection.Precio, collection.Descripcion, collection.Imagen, (SMPGenNHibernate.Enumerated.SMP.ValoracionEnum)collection.Valoracion, collection.Stock, collection.descriplarga, collection.imagran, collection.Talla);



                string action     = System.Web.HttpContext.Current.Session["action"] as String;
                string controller = System.Web.HttpContext.Current.Session["controller"] as String;
                Object arg        = System.Web.HttpContext.Current.Session["arg"];


                return(RedirectToAction(action, controller, arg));
            }
            catch
            {
                return(View());
            }
        }
Exemple #24
0
        public ActionResult Edit(Predefinida pro, HttpPostedFileBase file)
        {
            string fileName = "", path = "";

            // Verify that the user selected a file
            if (file != null && file.ContentLength > 0)
            {
                // extract only the fielname
                fileName = Path.GetFileName(file.FileName);
                // store the file inside ~/App_Data/uploads folder
                path = Path.Combine(Server.MapPath("~/Images/Uploads"), fileName);
                //string pathDef = path.Replace(@"\\", @"\");
                file.SaveAs(path);
            }

            try
            {
                // TODO: Add update logic here
                ProductoCEN cen = new ProductoCEN();
                if (fileName == "")
                {
                    fileName = pro.Foto;
                }
                else
                {
                    fileName = "/Images/Uploads/" + fileName;
                }

                cen.Modify(pro.Id, double.Parse(pro.precio, System.Globalization.CultureInfo.InvariantCulture), pro.Nombre, fileName, pro.NumVeces);

                return(RedirectToAction("IndexEdit"));
            }
            catch
            {
                return(View());
            }
        }
Exemple #25
0
        public ActionResult TopVentasPost()
        {
            try
            {
                SessionInitialize();
                ProductoCEN        pred    = new ProductoCEN();
                IList <ProductoEN> list    = pred.ReadAll(0, -1);
                List <ProductoEN>  listica = new List <ProductoEN>();

                foreach (ProductoEN p in list)
                {
                    if (p.NumVeces != 0)
                    {
                        listica.Add(p);
                    }
                }

                listica = listica.OrderByDescending(o => o.NumVeces).ToList();
                IEnumerable <Producto> lista = new AssemblerProducto().ConvertListENToModel(listica, session).ToList();


                SessionClose();

                if (lista.Count() > 0)
                {
                    return(View(lista));
                }
                else
                {
                    return(RedirectToAction("Index"));
                }
            }
            catch
            {
                return(View());
            }
        }
Exemple #26
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());
            }
        }
Exemple #27
0
        // GET: Articulo/Edit/5
        public ActionResult Edit(int id)
        {
            ProductoCEN cen = new ProductoCEN();

            ProductoEN en = new ProductoEN();

            en = cen.ReadOID(id);

            // SessionInitializeTransaction();

            //IProducto productoCAD = new productoCAD(session);

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

            ViewData["controller"] = System.Web.HttpContext.Current.Session["controller"] as String;
            ViewData["action"]     = System.Web.HttpContext.Current.Session["action"] as String;
            ViewData["arg"]        = System.Web.HttpContext.Current.Session["arg"];



            return(View(sol));
        }
Exemple #28
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;
            }
        }
Exemple #29
0
        public ActionResult Edit(Producto prod, HttpPostedFileBase file)
        {
            string fileName = "", path = "";

            // Verify that the user selected a file
            if (file != null && file.ContentLength > 0)
            {
                // extract only the fielname
                fileName = Path.GetFileName(file.FileName);
                // store the file inside ~/App_Data/uploads folder
                path = Path.Combine(Server.MapPath("~/Images/Uploads"), fileName);
                //string pathDef = path.Replace(@"\\", @"\");
                file.SaveAs(path);
            }
            try
            {
                fileName = "/Images/Uploads/" + fileName;
                ProductoCEN cenf = new ProductoCEN();


                CategoriaCAD catCad = new CategoriaCAD();
                CategoriaCEN catCen = new CategoriaCEN(catCad);

                bool b     = true;
                int  idcat = 0;


                IList <CategoriaEN> listCatsEN2 = catCen.MuestraCategorias(0, -1);
                IList <CategoriaEN> listcon     = new List <CategoriaEN>();
                foreach (CategoriaEN cosaCats in listCatsEN2)
                {
                    if (cosaCats.Nombre == prod.NombreCategoria)
                    {
                        if (cosaCats.Supercategoria != null)
                        {
                            if (cosaCats.Supercategoria.Nombre == prod.NombreSupercategoria)
                            {
                                b     = false;
                                idcat = cosaCats.Id;
                            }
                        }
                    }
                }


                if (b == true)
                {
                    idcat = catCen.New_(prod.NombreCategoria);
                }



                bool a        = true;
                int  idSupCat = 0;

                CategoriaCAD        catCad2    = new CategoriaCAD();
                CategoriaCEN        catCen2    = new CategoriaCEN(catCad2);
                IList <CategoriaEN> listCatsEN = catCen2.MuestraCategorias(0, -1);
                IList <CategoriaEN> listconSup = new List <CategoriaEN>();
                foreach (CategoriaEN cosaCats in listCatsEN)
                {
                    if (cosaCats.Supercategoria != null)
                    {
                        if (cosaCats.Supercategoria.Nombre == prod.NombreSupercategoria)
                        {
                            a        = false;
                            idSupCat = cosaCats.Supercategoria.Id;
                        }
                    }
                }


                if (a == true)
                {
                    idSupCat = catCen.New_(prod.NombreSupercategoria);
                }


                //int idSupCat=catCen.New_(hijo.NombreSupcat);
                catCen.CrearSupercategoria(idcat, idSupCat);

                //prod.IdCategoria =idcat;

                cenf.Modify(prod.id, prod.Nombre, fileName, prod.Precio, prod.Stock, prod.ValoracionMedia, prod.Destacado, prod.Oferta);
                cenf.CambiarCategoria(prod.id, idcat);
                ProductoDescripcionCEN cend = new ProductoDescripcionCEN();

                cend.New_(prod.Descripcion, BaseDatosGenNHibernate.Enumerated.BaseDatos.IdiomaEnum.Castellano, prod.id);

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Exemple #30
0
        public ActionResult addlinea(int id, int idpro)
        {
            SessionInitialize();
            CarritoCAD cad = new CarritoCAD(session);

            CarritoCEN cen = new CarritoCEN(cad);
            CarritoEN  en  = cen.ReadOID(id);

            EventoCEN   cene = new EventoCEN();
            EventoEN    ene  = cene.ReadOID(idpro);
            ProductoCEN cenp = new ProductoCEN();
            ProductoEN  enp  = cenp.ReadOID(idpro);


            AssemblerCarrito ass = new AssemblerCarrito();
            Carrito          sol = ass.ConvertENToModelUI(en);


            IList <Lineas_pedidoEN> ten = en.Lineas_pedido;

            AssemblerLineas_pedido assc = new AssemblerLineas_pedido();
            IList <Lineas_pedido>  solc = assc.ConvertListENToModel(ten);

            Lineas_pedidoCEN den    = new Lineas_pedidoCEN();
            string           tipo   = null;
            Boolean          si     = false;
            double           precio = 0;

            foreach (Lineas_pedido linea in solc)
            {
                if (linea.articulo == idpro)
                {
                    si = true;
                    if (linea.stock != linea.cantidad)
                    {
                        den.Modify(linea.id, (linea.cantidad + 1));
                    }

                    tipo   = linea.tipo;
                    precio = linea.precio;
                }
            }

            if (si == false)
            {
                int h = den.New_(id, 1);

                if (ene != null)
                {
                    den.Addevento(h, idpro);
                    tipo   = "Evento";
                    precio = ene.Precio;
                }
                else
                {
                    den.Addproducto(h, idpro);
                    tipo   = "Producto";
                    precio = enp.Precio;
                }
                List <int> lista = new List <int>();
                lista.Add(h);
                cen.Addlinea(id, lista);
            }
            SessionClose();


            precio = precio + sol.Precio;
            CarritoCEN fin = new CarritoCEN();

            fin.Modify(id, precio);



            ViewData["correo"] = System.Web.HttpContext.Current.Session["correo"] as string;
            // ViewData["action"] = "Details";
            return(RedirectToAction("Details", tipo, new { id = idpro }));
        }