ShopOnlineSolution/ShopOnline.Api/Repositories/ProductRepository.cs

41 lines
1.3 KiB
C#
Executable File

using Microsoft.EntityFrameworkCore;
using ShopOnline.Api.Data;
using ShopOnline.Api.Entities;
using ShopOnline.Api.Repositories.Contracts;
namespace ShopOnline.Api.Repositories
{
public class ProductRepository : IProductRepository
{
private readonly ShopOnlineDbContext shopOnlineDbContext;
public ProductRepository(ShopOnlineDbContext shopOnlineDbContext)
{
this.shopOnlineDbContext = shopOnlineDbContext;
}
public async Task<IEnumerable<ProductCategory>> GetCategories()
{
var categories = await this.shopOnlineDbContext.ProductCategories.ToListAsync();
return categories;
}
public async Task<ProductCategory> GetCategory(int id)
{
var category = await shopOnlineDbContext.ProductCategories.SingleOrDefaultAsync(c => c.Id == id);
return category;
}
public async Task<Product> GetItem(int id)
{
var product = await shopOnlineDbContext.Products.FindAsync(id);
return product;
}
public async Task<IEnumerable<Product>> GetItems()
{
var products = await this.shopOnlineDbContext.Products.ToListAsync();
return products;
}
}
}