예제 #1
0
        public ActionResult CreateyAnyade(int id, int cantidad, string vuelve)
        {
            try
            {
                SessionInitialize();
                PracticaGenNHibernate.Enumerated.Practica.TipoValoracionEnum valor = PracticaGenNHibernate.Enumerated.Practica.TipoValoracionEnum.sin_valorar;
                LineaPedidoCEN    linPed  = new LineaPedidoCEN(new LineaPedidoCAD());
                UsuarioCEN        usu     = new UsuarioCEN();
                PedidoCEN         pedi    = new PedidoCEN(new PedidoCAD(session));
                IList <UsuarioEN> hola    = usu.UsuarioPorEmail(User.Identity.Name);
                IList <PedidoEN>  pedidos = pedi.DevolverPedidosUsuario(hola[0].Nombre);

                Boolean existe = false;
                foreach (LineaPedidoEN linea in pedidos[(pedidos.Count) - 1].LineaPedido)
                {
                    if (linea.Producto.Id == id)
                    {
                        linPed.Modify(linea.Id, linea.Cantidad + cantidad, linea.Valoracion);
                        existe = true;
                    }
                }
                int id2 = pedidos[(pedidos.Count) - 1].Id;
                if (existe == false)
                {
                    int         idLin    = linPed.New_(id2, cantidad, valor);
                    IList <int> idLineas = new List <int>();
                    idLineas.Add(idLin);
                    linPed.AnyadirProducto(idLin, id);
                    pedi.AnyadirLineaPedido(id2, idLineas);
                    Session["Clineas"] = Convert.ToInt32(Session["Clineas"]) + 1;
                }


                PracticaGenNHibernate.CP.Practica.PedidoCP a = new PracticaGenNHibernate.CP.Practica.PedidoCP();
                a.CalcularPrecio(id2);
                SessionClose();
                if (!vuelve.Equals("Personalizada"))
                {
                    return(RedirectToAction("IndexUser", vuelve));
                }
                else
                {
                    return(RedirectToAction("Index", "Cesta"));
                }
            }

            catch
            {
                return(View());
            }
        }