public async Task <IActionResult> Create(TrackingDetail trackingDetail)
        {
            if (ModelState.IsValid)
            {
                TrackingHeader parent = await _context.TrackingHeaders.AsNoTracking().FirstOrDefaultAsync(h => h.TrackingID == trackingDetail.TrackingId);

                Vehiculo vehiculo = await _context.Vehiculos.AsNoTracking().FirstOrDefaultAsync(v => v.VIN == parent.VINVehiculo);

                if (vehiculo != null)
                {
                    vehiculo.PrecioMinimo      += trackingDetail.Costo;
                    vehiculo.PrecioRecomendado += trackingDetail.Costo;
                    _context.Vehiculos.Update(vehiculo);
                }

                _context.Add(trackingDetail);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Edit), "TrackingHeaders", new { @id = trackingDetail.TrackingId }));
            }
            ViewData["TrackingId"]  = new SelectList(_context.TrackingHeaders, "TrackingID", "TrackingID", trackingDetail.TrackingId);
            ViewData["ProveedorId"] = new SelectList(_context.Proveedores, "ID", "NombreEmpresa", trackingDetail.ProveedorId);
            ViewData["TrabajoId"]   = new SelectList(_context.Trabajos, "ID", "Descripcion", trackingDetail.TrabajoId);
            return(View(trackingDetail));
        }
        public async Task <IActionResult> DeleteConfirmed(int id)
        {
            int trackingID     = 0;
            var trackingDetail = await _context.TrackinDetails.FindAsync(id);

            trackingID = trackingDetail.TrackingId;

            TrackingHeader parent = await _context.TrackingHeaders.AsNoTracking().FirstOrDefaultAsync(h => h.TrackingID == trackingDetail.TrackingId);

            Vehiculo vehiculo = await _context.Vehiculos.AsNoTracking().FirstOrDefaultAsync(v => v.VIN == parent.VINVehiculo);

            if (vehiculo != null)
            {
                vehiculo.PrecioMinimo      -= trackingDetail.Costo;
                vehiculo.PrecioRecomendado -= trackingDetail.Costo;
                _context.Vehiculos.Update(vehiculo);
            }

            _context.TrackinDetails.Remove(trackingDetail);
            await _context.SaveChangesAsync();

            if (trackingID != 0)
            {
                return(RedirectToAction(nameof(Edit), "TrackingHeaders", new { @id = trackingID }));
            }
            return(RedirectToAction(nameof(Index)));
        }
Beispiel #3
0
        // GET: TrackingHeaders/Create
        public IActionResult Create()
        {
            TrackingHeader header = new TrackingHeader();

            header.Fecha = DateTime.Today;
            ;
            ViewData["VINVehiculo"] = new SelectList(this._context.Vehiculos.Where(v => !this._context.TrackingHeaders.Any(t => t.VINVehiculo == v.VIN) && !v.VendidoYN && !v.ApartadoYN), "VIN", "Descripcion");
            return(View(header));
        }
Beispiel #4
0
        public async Task <IActionResult> Create(TrackingHeader trackingHeader)
        {
            if (ModelState.IsValid)
            {
                _context.Add(trackingHeader);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Edit), new { ID = trackingHeader.TrackingID }));
            }
            ViewData["VINVehiculo"] = new SelectList(_context.Vehiculos, "VIN", "VIN", trackingHeader.VINVehiculo);
            return(View(trackingHeader));
        }