Esempio n. 1
0
        public async void NotifyOnActivityFinished()
        {
            var    directoryInfo = new DirectoryInfo(Directory.GetCurrentDirectory());
            string sourceHtml;

            using (var streamReader =
                       new StreamReader($"{directoryInfo.Parent.FullName}/SimpleMailSender/html/skima_finish.html"))
            {
                sourceHtml = streamReader.ReadToEnd();
            }

            var activityInfo = await activityFinishedInfoRepository.GetAllActivityEventInfo();

            foreach (var info in activityInfo)
            {
                if (!info.IsChecked)
                {
                    var allEntry = await entryRepository.GetAllAsync();

                    foreach (var entry in allEntry)
                    {
                        if (entry.ActivityId == info.ActivityId)
                        {
                            var bodyMessage = sourceHtml.Replace("НАЗВАНИЕ МАРАФОНА", info.Title);
                            SendEmailAsync(userRepository.GetByIdAsync(entry.UserId).Result.Email, null,
                                           "Завершение марафона", bodyMessage).GetAwaiter();
                        }
                    }

                    await activityFinishedInfoRepository.UpdateAsync(info);
                }
            }
        }