23 lines
856 B
C#
23 lines
856 B
C#
using Distribution.Models;
|
|
|
|
namespace Distribution.Features.Ride;
|
|
|
|
public interface IRideRepository
|
|
{
|
|
Task<DeliveryRun?> GetByIdAsync(Guid id);
|
|
Task<List<DeliveryRun>> GetAllAsync(RideStatus? status, RideType? type, Guid? driverProfileId, Guid? vehicleId, int page, int pageSize);
|
|
Task<int> GetCountAsync(RideStatus? status, RideType? type, Guid? driverProfileId, Guid? vehicleId);
|
|
Task<bool> HasOpenOrActiveRideForVehicleAsync(Guid vehicleId, Guid? excludeRideId = null);
|
|
Task<List<DeliveryRun>> GetActiveRidesAsync(Guid? excludeRideId = null);
|
|
Task<List<OrderSummaryModel>> GetActiveOrdersByRouteIdAsync(Guid routeId);
|
|
Task AddAsync(DeliveryRun ride);
|
|
void Update(DeliveryRun ride);
|
|
}
|
|
|
|
public record OrderSummaryModel(
|
|
Guid Id,
|
|
Guid StoreId,
|
|
string StoreName,
|
|
DateTime OrderDate,
|
|
decimal TotalAmount);
|