Tôi phải tính toán tổng số tiền có thể lập hóa đơn cho chủ thẻ, để truy cập thẻ dựa vào bãi đỗ xe. Cấu trúc lãi suất của tôi trông như thế này. Mỗi khu vực trong bãi đỗ xe sẽ có danh sách ưu tiên các mức giá này.Làm cách nào để tính toán tỷ lệ đỗ xe trong vài ngày khi giá được chỉ định hàng ngày?
public partial class HourlyPrice
{
public int Id { get; set; }
public int DayId { get; set; }
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
public int MinHour { get; set; }
public int MaxHour { get; set; }
public decimal Price { get; set; }
}
DayId
cho phép, ví dụ: 'miễn phí vào Chủ Nhật từ 13h00'. MinNour
và 'MaxHour' cho phép từ 0 đến 2 giờ miễn phí, trong đó 5 đến 6 giờ tốn R11.00. StartTime
và EndTime
cho phép 'sau 18h00 chi phí R7,00, tỷ lệ căn hộ'.
Mối quan tâm của tôi là nơi không xác định giá nhiều ngày. Khi một chiếc xe đi vào dưới một cấu trúc giá trong một ngày, và đi theo một cấu trúc giá khác vào một ngày khác. Điều này trông giống như tôi sẽ phải liên tục truy cập mỗi giờ đậu xe và tích lũy số tiền đến hạn. Điều này có vẻ là một cách làm rất tốn kém.
Bất kỳ lời khuyên nào về kết quả như vậy sẽ được đánh giá cao.
Bạn có thể đo tổng thời gian dành cho mỗi 'HourlyPrice' bằng cách đi từ" thời điểm hiện tại "đến đường biên của' HourlyPrice' tương ứng, sau đó làm cho khoảnh khắc biên giới đó là "thời điểm hiện tại" và đệ quy (chú ý chồng lên nhau)). –
"Điều này có vẻ là một cách làm rất tốn kém." Có bao nhiêu ngàn chiếc xe bạn mong đợi để xử lý mỗi giây? – Corak
Từ khi xem xét các yêu cầu của bạn, tôi không thấy bất kỳ cách nào xung quanh phá vỡ mỗi khoảng thời gian đỗ xe tính theo giờ và tính toán chi phí mỗi giờ bằng cách sử dụng bộ quy tắc. Tôi rất thích xem các giải pháp khác, nhưng tôi không thể nghĩ ra một giải pháp ... –