Devo calcolare gli importi fatturabili totali per i titolari di carte, per l'accesso basato su carta ai parcheggi. La mia struttura dei tassi sembra così. Ogni zona in un parcheggio avrà un elenco prioritario di questi prezzi.Come si calcolano le tariffe di parcheggio per più giorni quando le tariffe sono specificate giornalmente?
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
consente ad es. "gratuito la domenica dalle 13h00". MinNour
e 'MaxHour' consentono da 0 a 2 ore è gratuito, dove da 5 a 6 ore costa R11.00. StartTime
e EndTime
consentire 'dopo 18h00 costi R7.00, forfettario'.
La mia preoccupazione è dove non è specificato alcun prezzo di più giorni. Quando una macchina entra in una struttura di prezzo in un giorno e esce sotto un'altra in un altro giorno. Questo mi sembra che dovrò visitare sequenzialmente ogni ora parcheggiata dal veicolo e accumulare l'importo dovuto. Questo sembra un modo molto costoso di fare le cose.
Qualsiasi consiglio su tale endevour sarebbe molto apprezzato.
È possibile misurare il tempo totale trascorso in ogni 'HourlyPrice' passando dal "momento corrente" al bordo del corrispondente' HourlyPrice', quindi rendere quel momento di confine il "momento corrente" e ricorsivo (prestare attenzione alla sovrapposizione). –
"Questo sembra un modo molto costoso di fare le cose." Quante migliaia di auto ti aspetti di gestire al secondo? – Corak
Dall'osservazione della serie di requisiti, non vedo alcun modo di rompere ogni periodo di parcheggio in ore e calcolare il costo all'ora utilizzando la serie di regole. Mi piacerebbe vedere altre soluzioni, ma non riesco a pensare a una ... –