Esempio n. 1
0
        async void InitiateAsync()
        {
            while (true)
            {
                var triggerTime = DateTime.Today + _triggerHour - DateTime.Now;
                if (triggerTime < TimeSpan.Zero)
                {
                    triggerTime = triggerTime.Add(new TimeSpan(24, 0, 0));
                }
                await Task.Delay(triggerTime);

                OnTimeTriggered?.Invoke();
            }
        }
Esempio n. 2
0
        /// <summary>
        /// פונקציה אסינכרונית הבודקת האם הגיע הזמן להפעיל את הטריגר
        /// </summary>
        /// <returns></returns>
        async Task InitiateAsync()
        {
            while (true)
            {
                if (LastDateInvoke.Date != DateTime.Now.Date &&
                    DateTime.Now.Hour == triggerHour.Hours && DateTime.Now.Minute == triggerHour.Minutes)
                {
                    LastDateInvoke = DateTime.Now.Date;
                    await Task.Delay(200);

                    OnTimeTriggered?.Invoke();
                }
                await Task.Delay(200);
            }
        }