public async Task <IActionResult> Create(DonatedTicketsCreateViewModel dtcvm)
        {
            ModelState.Remove("DonatedTickets.UserId");
            ModelState.Remove("DonatedTickets.User");
            ModelState.Remove("DonatedTickets.PredsGame");
            for (int i = 0; i < dtcvm.Tickets.Count; i++)
            {
                ModelState.Remove($"Tickets[{i}].DonatedTickets");
            }
            if (ModelState.IsValid)
            {
                var user = await _userManager.GetUserAsync(HttpContext.User);

                dtcvm.DonatedTickets.User   = user;
                dtcvm.DonatedTickets.UserId = user.Id;
                _context.Add(dtcvm.DonatedTickets);
                await _context.SaveChangesAsync();

                foreach (var ticket in dtcvm.Tickets)
                {
                    ticket.DonatedTicketsId = dtcvm.DonatedTickets.DonatedTicketsId;
                    _context.Add(ticket);
                }
                await _context.SaveChangesAsync();

                emailSecret = Configuration["EmailSecrets:Email"];
                password    = Configuration["EmailSecrets:Password"];
                EmailSettings es = new EmailSettings()
                {
                    PrimaryDomain    = "smtp.gmail.com",
                    PrimaryPort      = 587,
                    SecondayDomain   = "smtp.gmail.com",
                    SecondaryPort    = 587,
                    UsernameEmail    = emailSecret,
                    UsernamePassword = password,
                    FromEmail        = "*****@*****.**",
                    ToEmail          = user.Email
                };
                string email = user.Email;
                string title = "7Element Donation";
                string body  = $"<h2>Dear {user.FirstName} {user.LastName},</h2><br>" +
                               $"<p>This email is to confirm your desired donation to for the following {dtcvm.NumberOfTickets} tickets:</p><br><ol>";
                for (int i = 0; i < dtcvm.Tickets.Count; i++)
                {
                    body += $"<li>Section {dtcvm.Tickets[i].Section} Row {dtcvm.Tickets[i].Row} Seat {dtcvm.Tickets[i].Seat}</li>";
                }
                body += "</ol><p>To complete your donation please dontate the tickets to tickemaster with the username [email protected].</p><br>" +
                        "<h3>Thank you,</h3>" +
                        "<h2>7Element</h2>";
                AuthMessageSender ams = new AuthMessageSender(Options.Create(es));
                await ams.SendEmailAsync(email, title, body);

                return(RedirectToAction(nameof(Confirmation)));
            }
            ViewData["PredsGameId"] = new SelectList(_context.PredsGame, "PredsGameId", "PredsGameId", dtcvm.DonatedTickets.PredsGameId);
            return(View());
        }
        // GET: DonatedTickets/Create
        public async Task <IActionResult> Create()
        {
            DateTime date            = DateTime.Now.AddDays(7);
            var      currentDateTime = DateTime.Now;
            var      predsGames      = await _context.PredsGame.Where(pg => pg.DateTime > currentDateTime && pg.DateTime < date && pg.Open == true).ToListAsync();

            List <SelectListItem> Positions = new List <SelectListItem>();

            foreach (var pg in predsGames)
            {
                Positions.Add(new SelectListItem()
                {
                    Text = ($"{pg.DateTime} {pg.Opponent}"), Value = pg.PredsGameId.ToString()
                });
            }
            ViewData["PredsGameId"] = Positions;
            List <SelectListItem> NumberOfTickets = new List <SelectListItem>()
            {
                new SelectListItem()
                {
                    Text = "2", Value = "2"
                },
                new SelectListItem()
                {
                    Text = "3", Value = "3"
                },
                new SelectListItem()
                {
                    Text = "4", Value = "4"
                },
                new SelectListItem()
                {
                    Text = "5", Value = "5"
                },
                new SelectListItem()
                {
                    Text = "6", Value = "6"
                },
                new SelectListItem()
                {
                    Text = "7", Value = "7"
                },
                new SelectListItem()
                {
                    Text = "8", Value = "8"
                },
                new SelectListItem()
                {
                    Text = "9", Value = "9"
                },
                new SelectListItem()
                {
                    Text = "10", Value = "10"
                }
            };

            ViewData["NumberOfTickets"] = NumberOfTickets;
            var user = await _userManager.GetUserAsync(HttpContext.User);

            DonatedTicketsCreateViewModel dtcvm = new DonatedTicketsCreateViewModel()
            {
                user = user
            };

            return(View(dtcvm));
        }