コード例 #1
0
ファイル: LineaPedidoController.cs プロジェクト: Narukage/DSM
        public ActionResult Valorar(int id, int pedido, int valoracion)
        {
            try
            {
                // TODO: Add update logic here

                SessionInitialize();
                PracticaGenNHibernate.Enumerated.Practica.TipoValoracionEnum valor = PracticaGenNHibernate.Enumerated.Practica.TipoValoracionEnum.sin_valorar;
                LineaPedidoCEN        linPed = new LineaPedidoCEN(new LineaPedidoCAD());
                PedidoCEN             pedi   = new PedidoCEN(new PedidoCAD(session));
                PedidoEN              pedEN  = pedi.ReadOID(pedido);
                IList <LineaPedidoEN> lineas = pedEN.LineaPedido;


                switch (valoracion)
                {
                case 1:

                    valor = PracticaGenNHibernate.Enumerated.Practica.TipoValoracionEnum.mala;

                    break;

                case 2:

                    valor = PracticaGenNHibernate.Enumerated.Practica.TipoValoracionEnum.regular;
                    break;

                case 3:

                    valor = PracticaGenNHibernate.Enumerated.Practica.TipoValoracionEnum.buena;
                    break;

                case 4:

                    valor = PracticaGenNHibernate.Enumerated.Practica.TipoValoracionEnum.muybuena;
                    break;

                case 5:

                    valor = PracticaGenNHibernate.Enumerated.Practica.TipoValoracionEnum.excelente;
                    break;
                }

                linPed.ValorarLinea(id, valor);



                int contador = 0;

                //compruebo que todas las chismas han sido valoradas, y si es asi llamo a calcularmedia
                foreach (LineaPedidoEN lin in lineas)
                {
                    if (lin.Valoracion != PracticaGenNHibernate.Enumerated.Practica.TipoValoracionEnum.sin_valorar)
                    {
                        contador++;

                        if (contador == lineas.Count)
                        {
                            return(RedirectToAction("CalcularMedia", "Pedido", new { id = pedido }));
                        }
                    }
                }


                SessionClose();

                return(RedirectToAction("PedidosUsuario", "Account"));
            }
            catch
            {
                return(View());
            }
        }