예제 #1
0
        private async Task SendConfirmationEmail(List <int> teamIds)
        {
            var viewDataDictionary = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary());

            IQueryable <Team>         teams = TeamRepository.AllIncluding(t => t.Division, t => t.CompetitionLevel, t => t.Members, t => t.Gender, t => t.Manager).Where(t => teamIds.Contains(t.Id));
            List <TransactionHistory> transactionHistory = TransactionHistoryRepository.All.ToList();

            foreach (var team in teams)
            {
                var teamViewModel = Mapper.Map <RegisteredTeamViewModel>(team);

                viewDataDictionary.Model = new TeamRegisteredViewModel
                {
                    EmailAddress   = team.Manager.Email,
                    FirstName      = team.Manager.FirstName,
                    LastName       = team.Manager.LastName,
                    Members        = Mapper.Map <IList <RegisteredParticipantViewModel> >(team.Members),
                    Team           = teamViewModel,
                    DateRegistered = transactionHistory.SingleOrDefault(t => t.TransactionId == team.PaymentTransactionId).TransactionDate
                };

                var message = await EmailViewRenderer.RenderAsync("TeamRegistered", viewDataDictionary);

                await EmailSender.SendEmailAsync(team.Manager.Email, $"{AppSettings.TournamentName} Confirmation - {team.Name}", message);
            }
        }
예제 #2
0
        public async Task <IActionResult> IncompleteTeamReport()
        {
            List <Team> teams = await TeamRepository.AllIncluding(t => t.Members, t => t.Manager, t => t.Division, t => t.CompetitionLevel, t => t.Gender, t => t.PromotionalCode).Where(t => !t.IsDeleted && t.PaymentTransactionId == null).ToListAsync();

            MemoryStream memoryStream = new MemoryStream();
            XLWorkbook   workbook     = new XLWorkbook();

            AddIncompleteTeamReport(workbook, teams);

            workbook.SaveAs(memoryStream);
            memoryStream.Seek(0, SeekOrigin.Begin);

            return(File(memoryStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "IncompleteTeams.xlsx"));
        }