public ActionResult DeleteConfirmed(int id) { Tiene tiene = db.Tiene.Find(id); db.Tiene.Remove(tiene); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "Id,IdCompra,IdPublicacion,Cantidad,Estado,Monto")] Tiene tiene) { if (ModelState.IsValid) { db.Entry(tiene).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(tiene)); }
public ActionResult Create([Bind(Include = "Id,IdCompra,IdPublicacion,Cantidad,Estado,Monto")] Tiene tiene) { if (ModelState.IsValid) { db.Tiene.Add(tiene); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(tiene)); }
// GET: Tiene/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Tiene tiene = db.Tiene.Find(id); if (tiene == null) { return(HttpNotFound()); } return(View(tiene)); }
public ActionResult Index() { var userProp = UserManager.FindByEmail(User.Identity.GetUserName()); var IdUser = userProp.IdUsuario; var comprasRealizadasSinCalificar = db.Compras.Where(c => c.IdUsuario == IdUser).Join(db.Tiene, c => c.Id, t => t.IdCompra, (c, t) => new { c, t }).ToList(); List <Compra> comprasSC = new List <Compra>(); foreach (var subItem in comprasRealizadasSinCalificar) { Compra itemData = subItem.c; Tiene itemTiene = subItem.t; if (itemTiene.Estado == "Sin calificar") { comprasSC.Add(itemData); } } return(View(comprasSC)); }
public ActionResult Registrar([Bind(Include = "Id,Cantidad,Monto,Fecha")] Compra compra) { var userProp = UserManager.FindByEmail(User.Identity.GetUserName()); var IdUser = userProp.IdUsuario; //var montoTotal = db.Carrito.Where(c => c.IdUsuario == IdUser); var ItemsCarrito = db.Carrito.Where(c => c.IdUsuario == IdUser).Join(db.Publicaciones, c => c.IdPublicacion, p => p.Id, (carrito, publicacion) => new { carrito, publicacion }).ToArray(); float montoTotal = 0; List <Tiene> itemsTiene = new List <Tiene>(); List <Publicacion> publicaciones = new List <Publicacion>(); foreach (var subItem in ItemsCarrito) { var itemData = subItem.publicacion; var carritoData = subItem.carrito; Tiene tiene = new Tiene(); montoTotal = montoTotal + (itemData.PrecioActual * carritoData.Cantidad); tiene.Cantidad = carritoData.Cantidad; tiene.IdPublicacion = carritoData.IdPublicacion; //Precio unitario tiene.Monto = itemData.PrecioActual; tiene.NombrePublicacion = itemData.Titulo; itemsTiene.Add(tiene); itemData.Stock = itemData.Stock - carritoData.Cantidad; if (itemData.Stock < 0) { TempData["Error"] = "Stock insuficiente para: " + itemData.Titulo; return(RedirectToAction("Index", "Carrito")); } else if (itemData.Stock == 0) { itemData.Estado = "Sin Stock"; } publicaciones.Add(itemData); } if (userProp.SaldoActual >= montoTotal) { userProp.SaldoActual = userProp.SaldoActual - montoTotal; UserManager.Update(userProp); compra.IdUsuario = IdUser; compra.Monto = montoTotal; db.Compras.Add(compra); db.SaveChanges(); publicaciones.ForEach(publicacion => db.Entry(publicacion).State = EntityState.Modified); db.SaveChanges(); Movimiento movimiento = new Movimiento(); movimiento.Fecha = compra.Fecha; movimiento.IdUsuario = IdUser; movimiento.Operacion = "Compra"; movimiento.Monto = montoTotal; db.Movimientos.Add(movimiento); db.SaveChanges(); var idCompra = compra.Id; itemsTiene.ForEach(item => item.IdCompra = idCompra); db.Tiene.AddRange(itemsTiene); db.SaveChanges(); var items = db.Carrito.Where(item => item.IdUsuario == IdUser); db.Carrito.RemoveRange(items); db.SaveChanges(); Session["itemsCarrito"] = "0"; } else { TempData["Error"] = "El saldo es insuficiente para realizar la compra."; return(RedirectToAction("Index", "Carrito")); } TempData["Success"] = "La compra se ha efectuado de manera exitosa. Si quieres puedes calificarla"; return(RedirectToAction("Index", "Calificacion", View(db.Compras.Where(c => c.IdUsuario == IdUser).ToList()))); }