コード例 #1
0
 public ActionResult BusquedaPorUsuarioPost(string nombre)
 {
     try
     {
         SessionInitialize();
         PedidoCAD        pCAD            = new PedidoCAD(session);
         PedidoCEN        pCEN            = new PedidoCEN(pCAD);
         AssemblerPedido  assemblerPedido = new AssemblerPedido();
         IList <PedidoEN> listaP          = pCEN.DevolverPedidosUsuario(nombre);
         IList <Pedido>   Return          = assemblerPedido.ConvertListENToModel(listaP, session);
         SessionClose();
         if (Return.Count > 0)
         {
             return(View(Return));
         }
         else
         {
             return(RedirectToAction("Index"));
         }
     }
     catch
     {
         return(View());
     }
 }
コード例 #2
0
ファイル: CestaController.cs プロジェクト: Narukage/DSM
        public ActionResult Index()
        {
            SessionInitialize();
            PedidoCEN  ped = new PedidoCEN(new PedidoCAD(session));
            UsuarioCEN usu = new UsuarioCEN(new UsuarioCAD(session));
            PedidoCP   p   = new PedidoCP(session);


            usu = new UsuarioCEN(new UsuarioCAD(session));
            IList <UsuarioEN> inci = usu.UsuarioPorEmail(User.Identity.Name);
            Usuario           usu1 = new AssemblerUsuario().ConvertENToModelUI(inci.Last(), session);


            IList <PedidoEN> listaPedidoUsu = ped.DevolverPedidosUsuario(User.Identity.Name);
            PedidoEN         pedEn          = listaPedidoUsu.Last();

            if (pedEn.Codigo != null)
            {
                double actualizado = p.CalcularPrecio(pedEn.Id);
                ped.Descontar(pedEn.Id, actualizado);
            }


            PedidoCP pedCP = new PedidoCP(session);
            Pedido   ped1  = new AssemblerPedido().ConvertENToModelUI(pedEn, session);

            IEnumerable <Cesta> cesta = new AssemblerCesta().ConvertListENToModel(ped1, usu1);

            SessionClose();


            return(View(cesta));
        }
コード例 #3
0
ファイル: AccountController.cs プロジェクト: Narukage/DSM
        public ActionResult PedidosUsuario()
        {
            SessionInitialize();
            PedidoCAD        pCAD  = new PedidoCAD(session);
            PedidoCEN        pCEN  = new PedidoCEN(pCAD);
            PedidoCP         pCP   = new PedidoCP(session);
            IList <PedidoEN> lista = pCEN.DevolverPedidosUsuario(User.Identity.Name);
            //lista.RemoveAt(lista.Count()-1);
            IEnumerable <Pedido> list = new AssemblerPedido().ConvertListENToModel(lista, session).ToList();

            SessionClose();
            return(View(list.OrderByDescending(o => o.Id)));
        }
コード例 #4
0
ファイル: LineaPedidoController.cs プロジェクト: Narukage/DSM
        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());
            }
        }
コード例 #5
0
ファイル: CodigoController.cs プロジェクト: Narukage/DSM
        public ActionResult Comprobar(String cod)
        {
            try
            {
                SessionInitialize();
                CodigoCEN        codigo    = new CodigoCEN(new CodigoCAD(session));
                IList <CodigoEN> codigichi = codigo.ReadAll(0, -1);
                PedidoCP         p         = new PedidoCP(session);


                foreach (CodigoEN c in codigichi)
                {
                    if (c.Numero.Equals(cod))
                    {
                        int               idCodigo   = c.Id;
                        PedidoCEN         pedidoCEN  = new PedidoCEN();
                        UsuarioCEN        usuarioCEN = new UsuarioCEN(new UsuarioCAD(session));
                        IList <UsuarioEN> usuario    = usuarioCEN.BuscarUsuario(User.Identity.Name);
                        IList <PedidoEN>  pedidos    = pedidoCEN.DevolverPedidosUsuario(usuario[0].Nombre);
                        //Request.Form["cantidad"].AsInt();
                        //aqui busco el ultimo pedido que es el actual del usuario
                        if (pedidos.Count > 0)
                        {
                            int id = pedidos[(pedidos.Count) - 1].Id;
                            pedidoCEN.AnyadirCodigo(id, idCodigo);
                        }
                    }
                    else
                    {
                        return(RedirectToAction("Error", "Codigo")); //no existe el codigichi
                    }
                }
                SessionClose();

                return(RedirectToAction("Index", "Cesta")); //no existe el codigichi
            }
            catch
            {
                return(View());
            }
        }
コード例 #6
0
ファイル: AccountController.cs プロジェクト: Narukage/DSM
 public ActionResult LogOff()
 {
     if (!User.Identity.Name.Equals("*****@*****.**"))
     {
         LineaPedidoCEN    linPed  = new LineaPedidoCEN(new LineaPedidoCAD(session));
         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);
         //Request.Form["cantidad"].AsInt();
         //aqui busco el ultimo pedido que es el actual del usuario
         if (pedidos.Count > 0)
         {
             int id = pedidos[(pedidos.Count) - 1].Id;
             if (!pedidos[(pedidos.Count) - 1].Confirmado)
             {
                 new PedidoCEN().Destroy(id);
             }
         }
     }
     WebSecurity.Logout();
     return(RedirectToAction("Index", "Home"));
 }