public async Task <ActionResult> ContentSources(RegistrationIndexViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            var registration = await _repo.ContentSourceRegistrationRequests.AddOrUpdateAndSaveAsync(new ContentSourceRegistrationRequest()
            {
                Email = model.Email
            });

            var recipient = new EmailRecipient(model.Email);

            var content = new EmailContent()
                          .Title("Fanword Content Sources")
                          .Paragraph("Thank you for your interest in being a content source on Fanword.  Click the link below to complete your registration.")
                          .Button(Url.Action("ContentSourceRegistration", "Registration", new { id = registration.Id }, Request.Url.Scheme), "#32c5d2", "#FFF", "Register");

            var email = new Email(recipient, "Fanword Content Source Sign-Up", content.ToHtml());

            email.Send();

            return(RedirectToAction("InitialContentSourcesRegistrationComplete"));
        }
Example #2
0
        public async Task <IActionResult> Index(string sortOrder, string SelectedStatus, int SelectedEventId = 0, int SelectedUserId = 0, int page = 1)
        {
            IEnumerable <Registration> registrations = await _registrationService.Registrations.GetRegistrationsWithUserAndEventAsync(SelectedStatus, SelectedUserId, SelectedEventId, page, PageSize);

            int totalItems = 0;

            if (SelectedEventId == 0 && SelectedUserId == 0 && string.IsNullOrEmpty(SelectedStatus))
            {
                totalItems = _registrationService.Registrations.Count();
            }
            else
            {
                Expression <Func <Registration, bool> > predicate = (x => (string.IsNullOrEmpty(SelectedStatus) || x.Status.ToString() == SelectedStatus) && (SelectedEventId == 0 || x.EventId == SelectedEventId) && (SelectedUserId == 0 || x.UserId == SelectedUserId));
                totalItems = _registrationService.Registrations.CountByExpression(predicate);
            }
            SelectList usersSelect     = _registrationService.Users.GetUserSelectList();
            SelectList eventSelectList = await _registrationService.Events.GetEventSelectListAsync();

            SelectList regStatuses        = _registrationService.Registrations.GetRegistrationStatuses();
            RegistrationIndexViewModel vm = new RegistrationIndexViewModel(
                registrations,
                usersSelect,
                eventSelectList,
                regStatuses,
                SelectedUserId,
                SelectedEventId,
                SelectedStatus,
                sortOrder,
                totalItems,
                page,
                PageSize
                );

            ViewData["ActiveMenu"] = "Admin";
            ViewData["ActiveLink"] = "RegistrationIndex";
            ViewData["Title"]      = "Registration Index";
            return(View(vm));
        }