Initial commit AB#12

This commit is contained in:
Noah Spannbauer
2023-01-24 20:03:13 -06:00
commit c2d8bd1838
91 changed files with 29613 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
using System;
using Microsoft.EntityFrameworkCore;
using Venues.DbContexts;
using Venues.Entities;
namespace Venues.Services
{
public class VenuesRepository : IVenuesRepository
{
private readonly MlbGameDayContext _context;
public VenuesRepository(MlbGameDayContext context)
{
_context = context ?? throw new ArgumentNullException(nameof(context));
}
public async Task<Venue?> GetVenueAsync(int venueId)
{
return await _context.Venues.Where(v => v.Id == venueId).FirstOrDefaultAsync();
}
public async Task<(IEnumerable<Venue>, PaginationMetadata)> GetVenuesAsync(int pageNumber, int pageSize)
{
var collection = _context.Venues as IQueryable<Venue>;
var totalItemCount = await collection.CountAsync();
var paginationMetadata = new PaginationMetadata(totalItemCount, pageSize, pageNumber);
var collectionToReturn = await collection.OrderBy(v => v.Name)
.Skip(pageSize * (pageNumber -1))
.Take(pageSize)
.ToListAsync();
return (collectionToReturn, paginationMetadata);
}
}
}