public async void GenerateEventOfSubscription() { var dateOfLastCheckedEntry = await settingsRepository.GetLastSubscribeSettings(); var entries = await entryRepository.GetAllAsync(); foreach (var entry in entries) { if (dateOfLastCheckedEntry == null || entry.CreatedAt.CompareTo(dateOfLastCheckedEntry.CreatedAt) > 0) { var userByEntry = await userRepository.GetByIdAsync(entry.UserId); var activity = await activityRepository.GetByIdAsync(entry.ActivityId); var maraphone = await maraphoneRepository.GetAsync(activity.MaraphoneId, cancellationToken : CancellationToken.None); var subscribeEventInfo = new SubscribeEventInfo() { FirstName = userByEntry.FirstName, LastName = userByEntry.LastName, Email = userByEntry.Email, CreatedAt = entry.CreatedAt, Title = maraphone.Title, Description = maraphone.Description, IsChecked = false }; await subscribeEventInfoRepository.CreateSubscribeEventInfoAsync(subscribeEventInfo); } } var settingOfEventSubscribe = new SettingsEventOfSubscribeToActivity() { CreatedAt = DateTime.Now }; await settingsRepository.CreateSubscribeToActivitySettings(settingOfEventSubscribe); }