2008-12-10 1 views
7

Ich möchte ein sich wiederholendes Ereignis auf einer Datums-/Uhrzeitanzeige in einer App anzeigen. Diese Datumsanzeige kann die Form eines Kalenders haben, könnte aber auch eine Liste von bevorstehenden Ereignissen sein.Wie kann ich ein wiederkehrendes Kalenderereignis in C#/SQL Server verfolgen?

Was ist der beste Weg, dieses Ereignis zu verfolgen, das sich wiederholen kann?

Beispiel: Soll das Ereignis einmal in der Datenbank gespeichert werden und im Anzeigecode mehrmals projektiert/wiederholt werden? Soll das Ereignis mehrmals gespeichert und dann einfach gerendert werden?

Antwort

3

Ich habe so etwas zuvor getan und ich habe mein Schema von SQL Server sysschedules Tabelle basiert.

http://technet.microsoft.com/en-us/library/ms178644.aspx

Das Schema oben verlinkten ermöglicht es Ihnen, den Zeitplan für einen Job zu speichern (Ereignis). Dann können Sie basierend auf dem Zeitplan berechnen, an welchen Tagen das Ereignis eintritt. Dies kann eine langwierige Berechnung sein, also würde ich versuchen, dieses Ergebnis irgendwo zwischenzuspeichern.

1

Ich denke, es hängt von Art des Ereignisses ist es. Ist es wie Weihnachten, wo es einmal vorkommt und dich wirklich interessiert, bis zum nächsten Vorfall? Oder ist es eine Aufgabe wie: "Stelle sicher, dass ich jeden Monat meine Mutter anrufe", wenn es passiert und du es verpasst hast, würdest du nicht wollen, dass es weggeht?

Eine der Möglichkeiten, die ich kürzlich implementiert habe, bestand darin, einen Datensatz mit den Spalten next_occurrence (datum), reoccurence_period (wöchentlich, monatlich, jährlich usw.) zu erstellen. Damit das nächste Vorkommen zusammenkommt, würde es in der Liste erscheinen. Wenn es einmal übergeben wurde, würde das Listenelement ein Recycling-Symbol haben, das, wenn es einmal gedrückt wurde, den Datensatz auf das nächste zukünftige Vorkommen aktualisiert.

Noch einmal, ich bin mir nicht sicher, ob das für Ihre Situation gilt, aber es funktionierte gut für meine.

Verwandte Themen