Пример #1
0
        public ActionResult AsignarUsuario()
        {
            string  correo  = Request["txtCorreo"].ToString();
            Cupones cupones = db.Cupones.Find(Session["idCupon"]);
            Usuario usuario = db.Usuario.Where(x => x.correoElectronico == correo && x.idNivel == cupones.idNivel).FirstOrDefault();

            if (usuario == null)
            {
                TempData["Mensaje"] = "El usuario especificado no cumple con los requisitos";
                return(RedirectToAction("AsignarUsuario", new { id = cupones.idCupones }));
            }
            else
            {
                Cupones_Usuario cupones_Usuario = new Cupones_Usuario();
                cupones_Usuario.idCupones = cupones.idCupones;
                cupones_Usuario.idUsuario = usuario.idUsuario;
                cupones_Usuario.estado    = true;
                try
                {
                    db.Cupones_Usuarios.Add(cupones_Usuario);
                    db.SaveChanges();
                    TempData["Mensaje"] = "Cupón asignado a usuario con éxito";
                    return(RedirectToAction("ListaCupones"));
                }
                catch
                {
                    TempData["Mensaje"] = "El cupón seleccionado ya se encuentra asignado al usuario";
                    return(RedirectToAction("ListaCupones"));
                }
            }
        }
Пример #2
0
        /// <summary>
        /// Realiza el proceso de insertar el detalle del pedido a las bases de datos
        /// una vez que el usuario se encuentre registrado y con sesión activa
        /// de lo contrario será redireccionado al inicio de sesión
        /// </summary>
        /// <param name="id">Identificador del pedido que se está enviando</param>
        /// <returns></returns>
        public ActionResult FormalizarCompra(int?id)
        {
            //Si el usuario no está logueado no puede continuar con la formalización
            if (Session["Usuario"] == null)
            {
                return(RedirectToAction("InicioClientes", "Usuario"));
            }
            else
            {
                if (id == null)
                {
                    TempData["Mensaje"] = "El pedido especificado no está disponible";
                    return(View("CarritoPrevia"));
                }
                //Encontrando el pedido para asociarlo
                Pedido pedido = Context.Pedido.Find(id);
                if (pedido == null)
                {
                    TempData["Mensaje"] = "El pedido no se encuantra reservado";
                    return(View("CarritoPrevia"));
                }
                //Recorriendo el carrito para llenar un detalle por cada producto que se quiere registrar
                foreach (var item in Session["Carrito"] as List <CarritoItem> )
                {
                    Detalle_Pedido detalle_Pedido = new Detalle_Pedido();
                    detalle_Pedido.idPedido   = pedido.idPedido;
                    detalle_Pedido.idProducto = item.Producto.idProducto;
                    detalle_Pedido.cantidad   = item.Cantidad;
                    detalle_Pedido.descuento  = Convert.ToDecimal(Session["Descuento"]);
                    Context.Detalle_Pedido.Add(detalle_Pedido);
                }
                Context.SaveChanges();
                //Cambiando el estado del pedido para colocarlo en procesado
                pedido.estado = true;
                Context.Entry(pedido).State = System.Data.Entity.EntityState.Modified;
                Context.SaveChanges();

                //Marcando como usado el cupón utilizado en la compra
                if (Session["Cupones"] != null)
                {
                    foreach (var item in Session["Cupones"] as List <Cupones> )
                    {
                        Cupones_Usuario cupones_Usuario = Context.Cupones_Usuarios.Find(item.idCupones, Session["Usuario"]);
                        cupones_Usuario.estado = false;
                        Context.Entry(cupones_Usuario).State = System.Data.Entity.EntityState.Modified;
                    }
                    Context.SaveChanges();
                }

                //Guardando el estado de la compra
                Session["Compra"] = "Finalizado";
                //Eliminando los elementos del carrito
                Session.Remove("Carrito");

                //Mensaje de confirmación
                TempData["Mensaje"] = "Pedido realizado con éxito, gracias por su compra!";
                return(RedirectToAction("MuestraProductos", "Productos"));
            }
        }