public IActionResult Create(PodcastCreateViewModel model) { if (!TryValidateModel(model)) { return(View(model)); } var currentUserId = this._signInManager.UserManager.GetUserId(HttpContext.User); Podcast newPodcast = new Podcast() { Name = model.Name, ConversationMP3 = model.PodcastLink, Titel = model.Titel, MediaUser = _currentMediaUser, MediaUserId = currentUserId }; _mediaService.InsertPodcast(newPodcast); _mediaService.SaveChanges(); Podcast podcastFromDb = _mediaService.GetAllPodcasts().FirstOrDefault(z => z.Id == newPodcast.Id); if (model.Photo != null) { using var memoryStream = new MemoryStream(); model.Photo.CopyTo(memoryStream); podcastFromDb.Photo = memoryStream.ToArray(); } _mediaService.SaveChanges(); return(RedirectToAction("Details", new { podcastFromDb.Id })); }
public async Task <IActionResult> Create(PodcastEpisode podcastepisode) { //Ignore user from model state ModelState.Remove("podcastepisode.User"); //This creates a new variable to hold our current instance of the ActiveCustomer class and then sets the active customer's id to the CustomerId property on the product being created so that a valid model is sent to the database var user = await GetCurrentUserAsync(); if (podcastepisode.PodcastChannelId == 0) { return(RedirectToAction("Create")); } if (podcastepisode.PodcastChannelId == 1) { return(RedirectToAction("ChannelCreate")); } if (ModelState.IsValid) { podcastepisode.User = user; context.Add(podcastepisode); await context.SaveChangesAsync(); return(RedirectToAction("Index")); } PodcastCreateViewModel model = new PodcastCreateViewModel(context, user); return(View(model)); }
public async Task <IActionResult> Create() { var user = await GetCurrentUserAsync(); PodcastCreateViewModel model = new PodcastCreateViewModel(context, user); return(View(model)); }
public IActionResult Create(PodcastCreateViewModel model) { _context.Podcasts.Add(new Podcast() { Titel = model.Titel, Host = model.Host }); _context.SaveChanges(); return(RedirectToAction("Index")); }
public async Task <IActionResult> Create(PodcastCreateViewModel vm) { var podcast = new Podcast { Name = vm.Name, NormalizedName = vm.Name.ToUpper(), Description = vm.Description, }; await _applicationDbContext.Podcasts.AddAsync(podcast); await _applicationDbContext.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> Create(PodcastCreateViewModel createModel) { List <string> podcastTitlesFromDb = await _mediaWebDbContext.PodCasts.Select(p => p.Title).ToListAsync(); if (podcastTitlesFromDb.Contains(StringEdits.FirstLettterToUpper(createModel.Title))) { return(RedirectToAction("Index")); } PodCast newPodcast = new PodCast() { Title = StringEdits.FirstLettterToUpper(createModel.Title), ReleaseDate = createModel.ReleaseDate, Description = createModel.Description, File = createModel.PodcastLink }; //add guests to podcast var podcastGuests = new List <PodcastGuest>(); //create only if new guests if (createModel.createdGuests != null) { var createdGuests = StringEdits.FirstLettterToUpper(createModel.createdGuests); var createdGuestsArray = createdGuests.Split(", "); var newGuests = new List <Guest>(); var guestsFromDb = await _mediaWebDbContext.Guests.ToListAsync(); foreach (var createdGuest in createdGuestsArray) { if (!guestsFromDb.Select(g => g.Name).Contains(createdGuest)) { newGuests.Add(new Guest() { Name = createdGuest }); } else { podcastGuests.Add(new PodcastGuest() { Guest = guestsFromDb.Find(g => g.Name == createdGuest) }); } } foreach (var newGuest in newGuests) { podcastGuests.Add(new PodcastGuest() { Guest = newGuest }); } } newPodcast.PodCastGuests = podcastGuests; //add hosts to podcast var podcastHosts = new List <PodcastHost>(); //create only if new hosts if (createModel.createdHosts != null) { var createdHosts = StringEdits.FirstLettterToUpper(createModel.createdHosts); var createdHostsArray = createdHosts.Split(", "); var newHosts = new List <Host>(); var hostsFromDb = await _mediaWebDbContext.Hosts.ToListAsync(); foreach (var createdHost in createdHostsArray) { if (!hostsFromDb.Select(g => g.Name).Contains(createdHost)) { newHosts.Add(new Host() { Name = createdHost }); } else { podcastHosts.Add(new PodcastHost() { Host = hostsFromDb.Find(g => g.Name == createdHost) }); } } foreach (var newHost in newHosts) { podcastHosts.Add(new PodcastHost() { Host = newHost }); } } newPodcast.PodCastHosts = podcastHosts; _mediaWebDbContext.Update(newPodcast); await _mediaWebDbContext.SaveChangesAsync(); return(RedirectToAction("Index")); }
public IActionResult Create() { PodcastCreateViewModel model = new PodcastCreateViewModel(); return(View(model)); }