public ActionResult Index() { using (var DB = new LibreriaDB()) { DB.Configuration.LazyLoadingEnabled = false; var Car = DB.Carrito.Include("Producto").Where(P => P.SessionID == Session.SessionID & P.Transaccion == true & P.Activo == true).ToList(); List <SelectListItem> Productos = new List <SelectListItem>(); Productos.Add(new SelectListItem() { Value = "0", Text = "Seleccione un producto", Selected = true }); foreach (var Item in DB.PROListarProductos().ToList()) { Productos.Add(new SelectListItem() { Value = Item.IdProducto.ToString(), Text = Item.Nombre, Selected = false }); } ViewData["Productos"] = Productos; ViewData["Totales"] = Car.Sum(P => P.CostoTotal).ToString("#,#0.00"); return(View(Car)); } }
//public ActionResult Catalogo() //{ // using (var DB = new LibreriaDB()) // { // var Pros = DB.PROListarProductos().ToList(); // return View(Pros); // } //} public ActionResult Catalogo(string filtro) { if (!String.IsNullOrEmpty(filtro)) { using (var DB = new LibreriaDB()) { var Pros = DB.PROListarProductos().ToList().FindAll(p => p.Nombre.ToLower().Contains(filtro.ToLower())); return(View(Pros)); } } else { using (var DB = new LibreriaDB()) { var Pros = DB.PROListarProductos().ToList(); return(View(Pros)); } } }
public ActionResult Agregar(FormCollection Col) { if (Col.Count > 0) { using (var DB = new LibreriaDB()) { string data = Col["Codigo"]; string[] lista = data.Split('-'); var Pros = DB.PROListarProductos().SingleOrDefault(P => P.Codigo == lista[0]); bool res = DB.Database.SqlQuery <bool>(String.Format(@"select dbo.fnControlStock({0},{1})", Pros.IdProducto, int.Parse(Col["txtCantidad"]))).FirstOrDefault <bool>(); if (res == true) { decimal precio = DB.Database.SqlQuery <decimal>(String.Format(@"select dbo.fnDescuento({0})", Pros.IdProducto)).FirstOrDefault <decimal>(); int total = DB.Carrito.Where(P => P.IdProducto == Pros.IdProducto & P.Transaccion == true & P.Activo == true).Count(); if (total == 0) { Carrito Car = new Carrito(); Car.SessionID = Session.SessionID; Car.IdProducto = Pros.IdProducto; Car.Cantidad = short.Parse(Col["txtCantidad"]); Car.CostoUnidad = precio; //Pros.CostoVenta; Car.CostoTotal = (Car.Cantidad * Car.CostoUnidad); Car.FechaREG = DateTime.Now; Car.Transaccion = true; Car.Activo = true; DB.Carrito.Add(Car); DB.SaveChanges(); } else { Carrito Car = DB.Carrito.First(P => P.IdProducto == Pros.IdProducto & P.Transaccion == true & P.Activo == true); Car.Cantidad = (short)(Car.Cantidad + short.Parse(Col["txtCantidad"])); Car.CostoTotal = (Car.Cantidad * Car.CostoUnidad); Car.FechaREG = DateTime.Now; DB.SaveChanges(); } //Se Cargan los datos para la vista. DB.Configuration.LazyLoadingEnabled = false; var Cars = DB.Carrito.Include("Producto").Where(P => P.SessionID == Session.SessionID & P.Transaccion == true & P.Activo == true).ToList(); List <SelectListItem> Productos = new List <SelectListItem>(); Productos.Add(new SelectListItem() { Value = "0", Text = "Seleccione un producto", Selected = true }); foreach (var Item in DB.PROListarProductos().ToList()) { Productos.Add(new SelectListItem() { Value = Item.IdProducto.ToString(), Text = Item.Nombre, Selected = false }); } ViewData["Productos"] = Productos; ViewData["Totales"] = Cars.Sum(P => P.CostoTotal).ToString("#,#0.00"); return(View("Index", Cars)); } else { ViewBag.ErrorMessage = "No hay el stock requerido!!!"; //Se Cargan los datos para la vista. DB.Configuration.LazyLoadingEnabled = false; var Cars = DB.Carrito.Include("Producto").Where(P => P.SessionID == Session.SessionID & P.Transaccion == true & P.Activo == true).ToList(); List <SelectListItem> Productos = new List <SelectListItem>(); Productos.Add(new SelectListItem() { Value = "0", Text = "Seleccione un producto", Selected = true }); foreach (var Item in DB.PROListarProductos().ToList()) { Productos.Add(new SelectListItem() { Value = Item.IdProducto.ToString(), Text = Item.Nombre, Selected = false }); } ViewData["Productos"] = Productos; ViewData["Totales"] = Cars.Sum(P => P.CostoTotal).ToString("#,#0.00"); return(View("Index", Cars)); } } } else { return(HttpNotFound()); } }