Sky.Net/Infrastructure/Data/ProductRepository.cs
2022-05-10 10:26:43 -07:00

41 lines
1.2 KiB
C#

using Core.Entities;
using Core.Interfaces;
using Microsoft.EntityFrameworkCore;
namespace Infrastructure.Data
{
public class ProductRepository : iProductRepository
{
private readonly StoreContext _context;
public ProductRepository(StoreContext context)
{
_context = context;
}
public async Task<IReadOnlyList<ProductBrand>> GetProductBrandsAsync()
{
return await _context.ProductBrands.ToListAsync();
}
public async Task<Product> GetProductByIdAsync(int id)
{
return await _context.Products
.Include(p => p.ProductType)
.Include(p => p.ProductBrand)
.FirstOrDefaultAsync(p => p.Id == id);
}
public async Task<IReadOnlyList<Product>> GetProductsAync()
{
return await _context.Products
.Include(p => p.ProductType)
.Include(p => p.ProductBrand)
.ToListAsync();
}
public async Task<IReadOnlyList<ProductType>> GetProductTypesAsync()
{
return await _context.ProductTypes.ToListAsync();
}
}
}