Domanda

C'è un modo per impostare un promemoria per giorno della settimana? Per esempio se voglio un promemoria ogni Venerdì alle ore 10.

Qual è il modo migliore per realizzare questo compito?

Credo che sono stato più di pensare una sorta di calcolo ore. Spero ci sia un modo più semplicistico di fare quello che sto cercando di fare.

Aggiornamento:

La mia domanda è più su come capire come impostare il promemoria per un giorno specifico, anche se non lo è oggi. Quindi, consente di dire oggi è Mercoledì e voglio impostare un promemoria per ogni Venerdì (o in qualsiasi giorno della settimana) ... Come faccio a realizzare questo?

È stato utile?

Soluzione

Dato che il promemoria ha bisogno di un DateTime sua piuttosto facile. Ogni applicazione ha un massimo di 50 richiami:

DateTime dateTime = DateTime.Now; //First Friday at 10am
for (int i = 0; i < 50; i++)
{
    Reminder reminder = new Reminder("MyReminder")
    reminder.Content = "Reminder";
    reminder.BeginTime = dateTime.AddDays(i * 7);

    ScheduledActionService.Add(reminder);
}

-o questo può funzionare -

Reminder reminder = new Reminder("MyReminder")
reminder.Content = "Reminder";
reminder.BeginTime = DateTime.Now; //First Friday at 10am
reminder.Content = "Reminder";
reminder.ExpirationTime = DateTime.Now.AddDays(52 * 7);
reminder.RecurrenceType = RecurrenceInterval.Weekly; 

ScheduledActionService.Add(reminder);

Modifica

In questo modo si ottiene il prossimo giorno della settimana

private DateTime GetNextDay(string dayOfWeek)
{
    for (int i = 0; i < 7; i++)
    {
        DateTime currentDateTime = DateTime.Now.AddDays(i);
        if (dayOfWeek.Equals(currentDateTime.ToString("dddd")))
            return currentDateTime;
    }

    return DateTime.Now;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top