public async Task <ActionResult> DeleteConfirmed(long id) { DetalleFacturaModels detalleFacturaModels = await db.DetalleFacturaModels.FindAsync(id); int facturaId = detalleFacturaModels.FacturaId; db.DetalleFacturaModels.Remove(detalleFacturaModels); var articulos = db.DetalleFacturaModels.Where(x => x.FacturaId == detalleFacturaModels.FacturaId && x.Id != id); FacturaModels factura = db.FacturaModels.Find(detalleFacturaModels.FacturaId); if (articulos.Count() > 0) { var sumaArticulos = articulos.Sum(z => z.ValorTotal); factura.ValorTotal = sumaArticulos; } else { factura.ValorTotal = 0; } db.Entry(factura).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Edit/" + detalleFacturaModels.FacturaId, "Factura")); }
// GET: DetalleFactura/Details/5 public async Task <ActionResult> Details(long?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } DetalleFacturaModels detalleFacturaModels = await db.DetalleFacturaModels.FindAsync(id); if (detalleFacturaModels == null) { return(HttpNotFound()); } return(View(detalleFacturaModels)); }
public async Task <ActionResult> Edit([Bind(Include = "Id,FacturaId,VehiculoId,RepuestoAccesorioId,Cantidad,TipoArticulo")] DetalleFacturaModels detalleFacturaModels) { if (ModelState.IsValid) { var guardado = db.DetalleFacturaModels.Find(detalleFacturaModels.Id); if (detalleFacturaModels.Cantidad > 0) { guardado.Cantidad = detalleFacturaModels.Cantidad; } if (detalleFacturaModels.TipoArticulo == General.TipoArticulo.Vehiculo) { detalleFacturaModels.RepuestoAccesorioId = null; var vehiculo = db.VehiculoModels.Find((detalleFacturaModels.VehiculoId == null) ? guardado.VehiculoId : detalleFacturaModels.VehiculoId); guardado.ValorTotal = detalleFacturaModels.Cantidad * vehiculo.Valor; } else { detalleFacturaModels.VehiculoId = null; var repuestoAccesorio = db.RepuestoAccesorioModels.Find(detalleFacturaModels.RepuestoAccesorioId); guardado.ValorTotal = detalleFacturaModels.Cantidad * repuestoAccesorio.Valor; } db.Entry(guardado).State = EntityState.Modified; var articulos = db.DetalleFacturaModels.Where(x => x.FacturaId == guardado.FacturaId && x.Id != guardado.Id); FacturaModels factura = db.FacturaModels.Find(guardado.FacturaId); if (articulos.Count() > 0) { var sumaArticulos = articulos.Sum(z => z.ValorTotal); factura.ValorTotal = sumaArticulos + guardado.ValorTotal; } else { factura.ValorTotal = guardado.ValorTotal; } db.Entry(factura).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Index")); } ViewBag.RepuestoAccesorioId = new SelectList(db.RepuestoAccesorioModels, "RepuestoAccesorioId", "NombreArticulo", detalleFacturaModels.RepuestoAccesorioId); ViewBag.VehiculoId = new SelectList(db.VehiculoModels, "VehiculoId", "NombreVehiculo", detalleFacturaModels.VehiculoId); return(Content(Url.Action("Edit", "Factura")));//RedirectToAction("Edit", "Factura"); }
// GET: DetalleFactura/Edit/5 public async Task <ActionResult> Edit(long?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } DetalleFacturaModels detalleFacturaModels = await db.DetalleFacturaModels.FindAsync(id); ViewBag.FacturaId = detalleFacturaModels.FacturaId; if (detalleFacturaModels == null) { return(HttpNotFound()); } ViewBag.RepuestoAccesorioId = new SelectList(db.RepuestoAccesorioModels, "RepuestoAccesorioId", "NombreArticulo", detalleFacturaModels.RepuestoAccesorioId); ViewBag.VehiculoId = new SelectList(db.VehiculoModels, "VehiculoId", "NombreVehiculo", detalleFacturaModels.VehiculoId); return(View(detalleFacturaModels)); }