Exemplo n.º 1
0
        [ValidateAntiForgeryToken]  //Para prevenir ataques CSRF
        public ActionResult RegistrarPedido(Pedido pedido)
        {
            Pedido nuevo;


            if (ModelState.IsValid && Request["SelecInvitados"] != null && Request["SelecGustos"] != null)
            {
                nuevo = _pedidoServicio.CrearPedido(pedido, Request["SelecInvitados"].Split(','));
                _pedidoServicio.SetInvitados(nuevo, Request["SelecInvitados"].Split(','));
                _pedidoServicio.SetGustos(nuevo, Request["SelecGustos"].Split(','));

                nuevo = _pedidoServicio.ObtenerPedidoPorId(nuevo.IdPedido);

                _pedidoServicio.EnviarMail(_pedidoServicio.ObtenerTodosLosUsuariosInvitados(nuevo), nuevo);

                ViewBag.mensaje = "Se genero el pedido nro: " + nuevo.IdPedido;
                return(RedirectToAction("Pedidos"));
            }
            else
            {
                List <Usuario>       invitados = _usuarioServicio.GetAll();
                List <GustoEmpanada> gustos    = _pedidoServicio.GetGustoEmpanadas();
                ViewBag.invitados = invitados;
                ViewBag.gustos    = gustos;
                ViewBag.mensaje   = "Falta informacion para iniciar el pedido ";
                return(View("iniciar", pedido));
            }
        }