public async Task <ActionResult <Vehiculo> > PostVehiculo(Vehiculo vehiculo) { _context.Vehiculos.Add(vehiculo); try { PuntosxVehiculo puntosxVehiculo = new PuntosxVehiculo(); puntosxVehiculo.MatriculaVehiculo = vehiculo.MatriculaVehiculo; puntosxVehiculo.PuntosAcumulados = 0; _context.PuntosxVehiculos.Add(puntosxVehiculo); await _context.SaveChangesAsync(); } catch (DbUpdateException) { if (VehiculoExists(vehiculo.MatriculaVehiculo)) { return(Conflict()); } else { throw; } } return(CreatedAtAction("GetVehiculo", new { id = vehiculo.MatriculaVehiculo }, vehiculo)); }
public async Task <ActionResult <Transaccione> > PostTransaccione(Transaccione transaccione) { double?PuntosASumar = 0; _context.Transacciones.Add(transaccione); //await _context.SaveChangesAsync(); PuntosxVehiculo puntosxVehiculo = await _context.PuntosxVehiculos.Where(o => o.MatriculaVehiculo.Equals(transaccione.MatriculaVehiculo)).SingleOrDefaultAsync(); if (_context.Rangos.Where(o => transaccione.CantidadRecargada >= o.MinimoRecargado && transaccione.CantidadRecargada <= o.MaximoRecargado).FirstOrDefault() != null) { PuntosASumar = _context.Rangos.Where(o => transaccione.CantidadRecargada >= o.MinimoRecargado && transaccione.CantidadRecargada <= o.MaximoRecargado).FirstOrDefault().PuntosObtenidos; } else { PuntosASumar = 0; } puntosxVehiculo.PuntosAcumulados = (int)(puntosxVehiculo.PuntosAcumulados + PuntosASumar); _context.Set <PuntosxVehiculo>().Update(puntosxVehiculo); await _context.SaveChangesAsync(); return(CreatedAtAction("GetTransacciones", new { id = transaccione.IdTransaccion }, transaccione)); }