first commit
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
using Fitness_core_BE.Interfaces;
|
||||
using Fitness_core_BE.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace Fitness_core_BE.Repos
|
||||
{
|
||||
public class TimeBankCardRepository : ITimeBankCardRepository
|
||||
{
|
||||
private readonly TenantDbContext _context;
|
||||
|
||||
public TimeBankCardRepository(TenantDbContext context)
|
||||
{
|
||||
_context = context;
|
||||
}
|
||||
|
||||
public async Task<TimeBankCard> CreateTimeBankCard(TimeBankCard card)
|
||||
{
|
||||
card.TimeBankCardId = Guid.NewGuid();
|
||||
card.CreatedAt = DateTime.UtcNow;
|
||||
card.IsActive = true;
|
||||
|
||||
_context.TimeBankCards.Add(card);
|
||||
return card;
|
||||
}
|
||||
|
||||
public Task<TimeBankCard?> GetById(Guid timeBankCardId)
|
||||
=> _context.TimeBankCards.FirstOrDefaultAsync(c => c.TimeBankCardId == timeBankCardId);
|
||||
|
||||
public Task<TimeBankCard?> GetByRfidTagId(string rfidTagId)
|
||||
=> _context.TimeBankCards
|
||||
.Include(c => c.ActiveSessionFacility)
|
||||
.FirstOrDefaultAsync(c => c.RfidTagId == rfidTagId && c.IsActive);
|
||||
|
||||
public Task<List<TimeBankCard>> GetByCustomerId(Guid customerId)
|
||||
=> _context.TimeBankCards
|
||||
.Include(c => c.ActiveSessionFacility)
|
||||
.Where(c => c.FKCustomerId == customerId)
|
||||
.OrderByDescending(c => c.PurchasedAt)
|
||||
.ToListAsync();
|
||||
|
||||
public async Task<TimeBankCardUsageLog> AddUsageLog(TimeBankCardUsageLog log)
|
||||
{
|
||||
log.TimeBankCardUsageLogId = Guid.NewGuid();
|
||||
log.CreatedAt = DateTime.UtcNow;
|
||||
|
||||
_context.TimeBankCardUsageLogs.Add(log);
|
||||
return log;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user