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