public async Task RemoveAllReservations(string userId) { await using var dbCtx = new BookingsDbContext(_dbContextOptions); var allReservations = _db.UserReservations.Where(e => e.UserId == userId); dbCtx.UserReservations.RemoveRange(allReservations); await dbCtx.SaveChangesAsync(); }
public async Task RemoveReservation(string userId, UserReservation reservation) { await using var dbCtx = new BookingsDbContext(_dbContextOptions); var itemToRemove = await dbCtx.UserReservations.FirstOrDefaultAsync(res => res.UserId == userId && res.TeamId == reservation.TeamId && res.StartTime == reservation.StartTime); if (itemToRemove == null) { return; } dbCtx.UserReservations.Remove(itemToRemove); await dbCtx.SaveChangesAsync(); }
public async Task AddReservation(string userId, UserReservation reservation) { await using var dbCtx = new BookingsDbContext(_dbContextOptions); var reservationEntity = new UserReservationEntity { StartTime = reservation.StartTime, TeamId = reservation.TeamId, UserId = userId, EndTime = reservation.StartTime + _teamService.GetTeam(reservation.TeamId).Duration }; dbCtx.UserReservations.Add(reservationEntity); await dbCtx.SaveChangesAsync(); }
public EfBookingStorage(TeamService teamService, BookingsDbContext dbContext, DbContextOptions <BookingsDbContext> dbContextOptions) { _teamService = teamService; _db = dbContext; _dbContextOptions = dbContextOptions; }