コード例 #1
0
ファイル: PedidoController.cs プロジェクト: pionx/SuperOnline
        public ActionResult Create(Pedido pedido)
        {
            if (ModelState.IsValid)
            {
                db.Pedidos.Add(pedido);
                db.SaveChanges();
                return RedirectToAction("Index");
            }

            ViewBag.super_mercado = new SelectList(db.Super_mercados, "nombre", "nombre", pedido.super_mercado);
            ViewBag.usuario_id = new SelectList(db.Usuarios, "usuario_id", "cedula", pedido.usuario_id);
            return View(pedido);
        }
コード例 #2
0
ファイル: PedidoController.cs プロジェクト: pionx/SuperOnline
        //
        // GET: /Pedido/Create
        public ActionResult Create(string superMercado)
        {
            if (Session["carrito" + superMercado] != null && Session["correoUsuario"] != null)
            {
                //Obtener articulos de carrito
                JavaScriptSerializer js = new JavaScriptSerializer();

                string[] sessionCarrito = (string[])Session["carrito" + superMercado];
                string carritoJson = String.Join("", sessionCarrito);

                ArticuloCarrito[] carrito = js.Deserialize<ArticuloCarrito[]>(carritoJson);

                float total = 0;
                foreach (var item in carrito)
                {
                    total += item.total;
                }

                //obtener proximo id de pedido
                var rows = db.Detalle_pedido.ToList();

                var nextId = 0;
                if (rows.Count > 0)
                {
                    var lastRow = rows[rows.Count - 1];
                    var lastId = lastRow.pedido_id;
                    nextId = lastId + 1;
                }
                else
                {
                    nextId++;
                }

                Pedido pedido = new Pedido();
                pedido.pedido_id = nextId;
                pedido.estado = "Pendiente";
                pedido.total_precio = Convert.ToDecimal(total);
                pedido.fecha = DateTime.Today;
                pedido.usuario_id = (int)Session["idUsuario"];
                pedido.super_mercado = superMercado;
                db.Pedidos.Add(pedido);

                db.SaveChanges();

                Detalle_pedido detalle;

                for (var i = 1; i < carrito.Length; i++)
                {
                    detalle = new Detalle_pedido();
                    detalle.pedido_id = nextId;
                    detalle.cantidad_producto = Convert.ToInt32(carrito[i].cant);
                    detalle.precio = Convert.ToDecimal(carrito[i].precio);
                    detalle.sub_total = Convert.ToDecimal(carrito[i].total);

                    var nombreProducto = carrito[i].nombre;
                    var productoId = (from p in db.Productos where p.nombre == nombreProducto select p.producto_id).First();
                    detalle.producto_id = productoId;
                    db.Detalle_pedido.Add(detalle);

                }
                db.SaveChanges();

                return RedirectToAction("Index");
            }
            else
            {
                return RedirectToAction("Index");
            }
        }