示例#1
0
        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"));
        }
示例#2
0
        // 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));
        }
示例#3
0
        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");
        }
示例#4
0
        // 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));
        }