48 lines
1.4 KiB
C#
48 lines
1.4 KiB
C#
using ReserveManagementSystemLib.Models;
|
|
using ReserveManagementSystemLib.Persistence;
|
|
|
|
namespace ReserveManagementSystemLib.Repositories
|
|
{
|
|
public class DealerRepository : BaseRepository, IDealerRepository
|
|
{
|
|
public DealerRepository(AppDbContext context) : base(context) { }
|
|
|
|
public async Task<Dealer> FindByCodeAsync(string code)
|
|
{
|
|
return await _context.Dealers.FirstOrDefaultAsync(d => d.DealerCode == code);
|
|
}
|
|
|
|
public IQueryable<Dealer> GetAll()
|
|
{
|
|
return _context.Dealers;
|
|
}
|
|
|
|
public async Task<Dealer> AddDealerAsync(Dealer dealer)
|
|
{
|
|
try
|
|
{
|
|
var newDealer = await _context.Dealers.AddAsync(dealer);
|
|
await _context.SaveChangesAsync();
|
|
return newDealer.Entity;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Log.Error(ex, $"Failure to add dealer.");
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public async Task<int> UpdateDealersAsync(List<Dealer> dealers)
|
|
{
|
|
_context.Dealers.UpdateRange(dealers);
|
|
return await _context.SaveChangesAsync();
|
|
}
|
|
|
|
public async Task<int> AddDealersAsync(List<Dealer> dealers)
|
|
{
|
|
_context.Dealers.AddRange(dealers);
|
|
return await _context.SaveChangesAsync();
|
|
}
|
|
}
|
|
}
|