// GET: Speakers/Details/5 public async Task <IActionResult> Details(int?id) { // If no id specified, return not found if (id == null) { return(NotFound()); } if (!await _speakerBL.SpeakerExists(id.Value)) { return(NotFound()); } // Find the specified speaker var speaker = await _speakerBL.GetSpeakerViewModel(id.Value); // If the speaker is not found, return not found if (speaker == null) { return(NotFound()); } // Else return the view with the speaker information return(View(speaker)); }
// GET: Speakers/Details/5 public async Task <IActionResult> Details(int?id) { // Get the user information var user = await _userManager.GetUserAsync(User); // If no id specified, return not found if (id == null) { return(NotFound()); } if (!await _speakerBL.SpeakerExists(id.Value)) { return(NotFound()); } SpeakerViewModel speaker = null; // Find the specified speaker if (User.IsInRole("Admin")) { // Get all sessions speaker = await _speakerBL.GetSpeakerViewModel(id.Value); } else if (user != null && user.SpeakerId != null && user.SpeakerId == id.Value) { // Get all sessions speaker = await _speakerBL.GetSpeakerViewModel(id.Value); } else { // Only get approved sessions speaker = await _speakerBL.GetSpeakerViewModel(id.Value, true); } // If the speaker is not found, return not found if (speaker == null) { return(NotFound()); } // Else return the view with the speaker information return(View(speaker)); }
public async Task <IActionResult> OnGetAsync(string loginWithRegistration = null) { ViewData["MaxImageSize"] = SpeakerViewModel.MaxImageSize / 1000; LoginWithRegistration = loginWithRegistration; var user = await _userManager.GetUserAsync(User); if (user == null) { return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'.")); } // Finish registering the user as a speaker if (loginWithRegistration == "Speaker") { // Set role as Speaker user.IsAttending = true; user.IsSpeaker = true; await _userManager.AddToRoleAsync(user, "Speaker"); // Remove Attendee role await _userManager.RemoveFromRoleAsync(user, "Attendee"); // Set the users event to the current event var currentEvent = await _eventBL.GetActiveEvent(); if (user.EventId.HasValue == false || (user.EventId.HasValue == true && user.EventId.Value != currentEvent.EventId)) { user.EventId = currentEvent.EventId; } // Save the changes await _context.SaveChangesAsync(); } else if (LoginWithRegistration == "Attendee") { // Set role as Speaker user.IsAttending = true; // Set the users event to the current event var currentEvent = await _eventBL.GetActiveEvent(); if (user.EventId.HasValue == false || (user.EventId.HasValue == true && user.EventId.Value != currentEvent.EventId)) { user.EventId = currentEvent.EventId; } // Save the changes await _context.SaveChangesAsync(); } IsSpeaker = User.IsInRole("Speaker"); var userName = await _userManager.GetUserNameAsync(user); var email = await _userManager.GetEmailAsync(user); var phoneNumber = await _userManager.GetPhoneNumberAsync(user); Username = userName; if (IsSpeaker && user.SpeakerId.HasValue) { // Retrieve the associated speaker var speaker = await _speakerBL.GetSpeakerViewModel(user.SpeakerId.Value); Input = new InputModel() { SpeakerId = speaker.SpeakerId, FirstName = user.FirstName, LastName = user.LastName, GeographicLocation = user.GeographicLocation, TwitterHandle = user.TwitterHandle, IsVolunteer = user.IsVolunteer, Email = email, PhoneNumber = phoneNumber, CompanyName = speaker != null ? speaker.CompanyName : string.Empty, Bio = speaker != null ? speaker.Bio : string.Empty, WebsiteUrl = speaker != null ? speaker.WebsiteUrl : string.Empty, BlogUrl = speaker != null ? speaker.BlogUrl : string.Empty, LinkedIn = speaker != null ? speaker.LinkedIn : string.Empty, IsMvp = speaker != null ? speaker.IsMvp : false, NoteToOrganizers = speaker != null ? speaker.NoteToOrganizers : string.Empty }; } else // An Attendee { Input = new InputModel { FirstName = user.FirstName, LastName = user.LastName, GeographicLocation = user.GeographicLocation, TwitterHandle = user.TwitterHandle, IsVolunteer = user.IsVolunteer, Email = email, PhoneNumber = phoneNumber }; } IsEmailConfirmed = await _userManager.IsEmailConfirmedAsync(user); return(Page()); }