Ich mache ein Programm für eine Versicherungsgesellschaft, die aus datePickers
besteht. Der Benutzer kann ein Datum zum Starten der Richtlinie auswählen und dann ein Datum auswählen, an dem er einen Anspruch geltend gemacht hat. Für jeden Anspruch innerhalb von 1 Jahr nach Beginn der Versicherungspolice die Prämie um 20% erhöhen. Aber egal, wie ich es versuche, die Prämie steigt immer noch um 20%, auch wenn der Benutzer einen Anspruch geltend gemacht hat, der vor mehr als einem Jahr war. Meine Police beginnt bei 500 £, wenn ich mein Startdatum als 26/07/2017 festlege und dann mein Reklamationsdatum auf den 05/07/2016 setze, was mehr als ein Jahr nach Beginn des Policy Date ist hat der Richtlinie 20% hinzugefügt. Es sollte bei £ 500Überprüfen, ob zwei Daten im selben Jahr sind
Mein Code geblieben ist als
XAML
<DatePicker HorizontalAlignment="Center" Name="dpkStartDateOfPolicy" Grid.Column="1" VerticalAlignment="Top" Grid.Row="1" />
<DatePicker Name="dpkClaim1" Grid.Row="15" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Top"/>
xaml.cs
int policy = 500;
double Chauffeur = 0.10;
double Accountant = 0.10;
double age2125 = 0.20;
double age2675 = 0.10;
double claimOneYear = 0.20;
double tempPolicy;
// Calculation for Claim in the last year
public void claimOneYearMethod()
{
tempPolicy = (tempPolicy + tempPolicy * claimOneYear);
txtPolicy.Text = tempPolicy.ToString();
}
// Code for claim within the last year.
DateTime Claim1 = Convert.ToDateTime(dpkClaim1.SelectedDate);
DateTime StartPolicy = Convert.ToDateTime(dpkStartDateOfPolicy.SelectedDate);
if (StartPolicy.Age().Years() <1 && Claim1)
{
claimOneYearMethod();
}
Extention.cs
public static class Extensions
{
public static TimeSpan Age(this DateTime dt)
{
return (DateTime.Now - dt);
}
public static int Years(this TimeSpan ts)
{
return (int)((double)ts.Days/365.2425);
}
}
Brachen Ich habe versuchte auch diese
if (StartPolicy.Age().Years() <1 && Claim1.Age().Years() == 0)
{
claimOneYearMethod();
}
Was genau ist die Frage? – Magnus
Für jeden Anspruch innerhalb von 1 Jahr nach dem Startdatum der Police die Prämie um 20% erhöhen. Selbst als die Forderung vor mehr als einem Jahr bestand, stieg die Politik immer noch um 20%. Was mache ich hier falsch? –
Sie möchten prüfen, ob zwei Termine innerhalb eines Jahres liegen? Ihre Frage muss spezifischer sein und nur relevanten Code für die eigentliche Frage enthalten. – Magnus