public void AgregarAlCarrito(Producto producto)
        {
            // Averiguamos si tenemos abierto un carrito para agregarle los productos
            // Si no hay carrito abirto creamos uno

            var elementoCarrito = db.Carritos.SingleOrDefault(
                                    c => c.CartId == IdCarritoDeCompras
                                        && c.ProductoId == producto.ID);
            if (elementoCarrito == null)
            {
                //Creamos un carrito nuevo
                elementoCarrito = new Carrito
                {
                    ProductoId = producto.ID,
                    CartId = IdCarritoDeCompras,
                    Count = 1,
                    DateCreated = DateTime.Now
                };

                db.Carritos.Add(elementoCarrito);
            }
            else
            {
                //Si el elemento está en el carrito, le agregamos uno a la cantidad
                elementoCarrito.Count++;
            }

            //Guardamos los cambios
            db.SaveChanges();
        }
 public ActionResult Create()
 {
     var producto = new Producto();
     ViewBag.Unidades = db.Unidades.OrderBy(p => p.Nombre).ToList();
     ViewBag.Categorias = db.Categorias.OrderBy(c => c.Nombre).ToList();
     return View(producto);
 }
 public ActionResult Create(Producto newProducto)
 {
     if (ModelState.IsValid)
     {
         //Guardamos el producto
         newProducto.Unidad = db.Unidades.Find(newProducto.IdUnidad);
         newProducto.Categoria = db.Categorias.Find(newProducto.IdCategoria);
         db.Productos.Add(newProducto);
         db.SaveChanges();
         return RedirectToAction("Index");
     }
     ViewBag.Unidades = db.Unidades.OrderBy(p => p.Nombre).ToList();
     ViewBag.Categorias = db.Categorias.OrderBy(c => c.Nombre).ToList();
     return View(newProducto);
 }
        //
        // GET: /DefaultData/
        public ActionResult Index()
        {
            Cliente Cliente = new Cliente
            {
                CalleReceptor = "Cerrada Alvaro Obregon",
                CodigoPostalReceptor = "72760",
                ColoniaReceptor = "Fraccionamiento Horizontal El Campanario",
                Contacto = "Mane",
                Email = "*****@*****.**",
                EstadoReceptor = "Puebla",
                MunicipioReceptor = "San Pedro Cholula",
                NoExteriorReceptor = "2",
                NombreCliente = "Jose Manuel Heredia Hidalgo",
                NombreReceptor = "Jose Manuel Heredia Hidalgo",
                PaisReceptor = "México",
                RfcReceptor = "HEHM880429QG7",
                Telefono = "2222474817"

            };

            db.Clientes.Add(Cliente);

            Sucursal Sucursal = new Sucursal
            {
                Cuenta ="SEG0809151GA",
                DomicilioFiscal = "Blvd. Forjadores de Puebla #8A Colonia Manantiales. San Pedro Cholula, Puebla. CP 72760",
                Nombre = "Forjadores",
                Password ="******",
                RFC = "SEG0809151GA",
                Telefono = "22224847474"
            };

            db.Sucursales.Add(Sucursal);

            TryUpdateModel(Sucursal);

            Categoria Cat1 = new Categoria
            {
                Nombre = "Gases"
            };
            Categoria Cat2 = new Categoria
            {
                Nombre = "Soldadura"
            };

            db.Categorias.Add(Cat1);
            db.Categorias.Add(Cat2);

            Unidad u1 = new Unidad
            {
                Nombre = "Kg"
            };

            Unidad u2 = new Unidad
            {
                Nombre = "M3"
            };

            db.Unidades.Add(u1);
            db.Unidades.Add(u2);

            TryUpdateModel(Cat1);
            TryUpdateModel(Cat2);

            TryUpdateModel(u1);
            TryUpdateModel(u2);

            Producto p1 = new Producto
            {
                Activo = true,
                Clave = "SEGOX2011",
                Descripcion = "Oxigeno Industrial de 8.5",
                FotoUrl = "",
                IdCategoria = 1,
                IdUnidad = 1,
                Nombre = "Oxigeno Industrial de 8.5",
                PrecioLista = 88.9M
            };

            Producto p2 = new Producto
            {
                Activo = true,
                Clave = "SEGSOL2011",
                Descripcion = "Soldadura Grinox",
                FotoUrl = "",
                IdCategoria = 2,
                IdUnidad = 2,
                Nombre = "Soldadura Grinox",
                PrecioLista = 55.00M,
            };

            db.Productos.Add(p1);
            db.Productos.Add(p2);

            db.SaveChanges();

            ProductoSucursal ps1 = new ProductoSucursal
            {
                cantidad = 100.00M,
                IdProducto = 1,
                IdSucursal = 1,
                Producto = db.Productos.Find(1),
                Sucursal = db.Sucursales.Find(1)
            };

            ProductoSucursal ps2 = new ProductoSucursal
            {
                cantidad = 100.00M,
                IdProducto = 2,
                IdSucursal = 1,
                Producto = db.Productos.Find(2),
                Sucursal = db.Sucursales.Find(1)
            };

            db.ProductosSucursal.Add(ps1);
            db.ProductosSucursal.Add(ps2);

            db.SaveChanges();

            TryUpdateModel(p1);
            TryUpdateModel(p2);

            return View();
        }
        public ActionResult Productos()
        {
            string line;

            // Read the file and display it line by line.
            System.IO.StreamReader file =
               new System.IO.StreamReader(@"c:\producto.csv");
            while ((line = file.ReadLine()) != null)
            {
                //Parseamos la cadena
                string[] words = line.Split(';');
                string Descripcion = words[1];
                string Clave = words[0];
                string Nombre = words[1];
                decimal Precio = decimal.Parse(words[4]);
                decimal Costo = decimal.Parse(words[3]);

                var producto = new Producto
                {
                    Activo = true,
                    Descripcion = Descripcion,
                    Clave = Clave,
                    Nombre = Nombre,
                    PrecioLista = Precio,
                    Costo = Costo
                };

                db.Productos.Add(producto);
                db.SaveChanges();

            }

            file.Close();

            // Suspend the screen.
            return RedirectToAction("/");
        }