ride reconcilation with driver profile update
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
using Distribution.Data;
|
||||
using Distribution.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace Distribution.Features.Reconciliation;
|
||||
|
||||
public class ReconciliationRepository(AppDBContext db) : IReconciliationRepository
|
||||
{
|
||||
public async Task AddItemCountAsync(RideItemCount count)
|
||||
=> await db.RideItemCounts.AddAsync(count);
|
||||
|
||||
public async Task<List<RideItemCount>> GetItemCountsByRideAsync(Guid rideId)
|
||||
=> await db.RideItemCounts
|
||||
.Where(c => c.FK_RideId == rideId)
|
||||
.ToListAsync();
|
||||
|
||||
public async Task AddVarianceAsync(RideVariance variance)
|
||||
=> await db.RideVariances.AddAsync(variance);
|
||||
|
||||
public async Task<List<RideVariance>> GetVariancesByRideAsync(Guid rideId)
|
||||
=> await db.RideVariances
|
||||
.Include(v => v.Item)
|
||||
.Include(v => v.ResolvedBy)
|
||||
.Where(v => v.FK_RideId == rideId)
|
||||
.ToListAsync();
|
||||
|
||||
public async Task<RideVariance?> GetVarianceByIdAsync(Guid id)
|
||||
=> await db.RideVariances
|
||||
.Include(v => v.Item)
|
||||
.Include(v => v.ResolvedBy)
|
||||
.FirstOrDefaultAsync(v => v.Id == id);
|
||||
|
||||
public void UpdateVariance(RideVariance variance)
|
||||
=> db.RideVariances.Update(variance);
|
||||
|
||||
public async Task<bool> HasPendingVariancesAsync(Guid rideId)
|
||||
=> await db.RideVariances
|
||||
.AnyAsync(v => v.FK_RideId == rideId && v.Status == VarianceStatus.Pending);
|
||||
|
||||
public async Task AddCloseSummaryAsync(RideCloseSummary summary)
|
||||
=> await db.RideCloseSummaries.AddAsync(summary);
|
||||
|
||||
public async Task<RideCloseSummary?> GetCloseSummaryByRideAsync(Guid rideId)
|
||||
=> await db.RideCloseSummaries
|
||||
.FirstOrDefaultAsync(s => s.FK_RideId == rideId);
|
||||
|
||||
public async Task<decimal> GetCashCollectedByRideAsync(Guid rideId)
|
||||
=> await db.Payments
|
||||
.Where(p => p.Sale.FK_RideId == rideId && p.Method == PaymentMethod.Cash)
|
||||
.SumAsync(p => p.Amount);
|
||||
}
|
||||
Reference in New Issue
Block a user