public async Task <IActionResult> AddPodcast(int id, PodcastEditList model) { if (ModelState.IsValid) { string uniqueFileName = null; if (model.Audio != null) { string uploadsFolder = Path.Combine(hostingEnvironment.WebRootPath, "music/1"); uniqueFileName = Guid.NewGuid().ToString() + "_" + model.Audio.FileName; string filePath = Path.Combine(uploadsFolder, uniqueFileName); model.Audio.CopyTo(new FileStream(filePath, FileMode.Create)); } string path = "/music/1/" + uniqueFileName; Podcast podcast = new Podcast { AuthorID = id, Name = model.Name, Description = model.Description, Audio = path, RecordingDate = model.RecordingDate }; db.Add(podcast); await db.SaveChangesAsync(); var authorName = db.Authors.Where(p => p.Id == podcast.AuthorID).ToList()[0].Name; return(RedirectToAction("PodcastsShow", new { name = authorName })); } return(View(model)); }
public async Task <IActionResult> PodcastEdit(int id, PodcastEditList model) { if (ModelState.IsValid) { string uniqueFileName = null; string path = null; if (model.Audio != null) { string uploadsFolder = Path.Combine(hostingEnvironment.WebRootPath, "music/1"); uniqueFileName = Guid.NewGuid().ToString() + "_" + model.Audio.FileName; path = "/music/1/" + uniqueFileName; string filePath = Path.Combine(uploadsFolder, uniqueFileName); model.Audio.CopyTo(new FileStream(filePath, FileMode.Create)); } else { path = GetAudioPath(id); } Podcast podcast = new Podcast { Id = id, AuthorID = model.AuthorID, Name = model.Name, Description = model.Description, Audio = path, RecordingDate = model.RecordingDate }; try { db.Update(podcast); await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PodcastExists(podcast.Id)) { return(NotFound()); } else { throw; } } var authorName = db.Authors.Where(p => p.Id == podcast.AuthorID).ToList()[0].Name; return(RedirectToAction("PodcastsShow", new { name = authorName })); } return(View(model)); }
public async Task <IActionResult> PodcastEdit(int id, string authorId) { ViewData["Id"] = id; ViewData["AuthorName"] = authorId; var podcast = await db.Podcasts.FindAsync(id); if (podcast == null) { return(NotFound()); } PodcastEditList model = new PodcastEditList { RecordingDate = podcast.RecordingDate, Name = podcast.Name, AuthorID = podcast.AuthorID, Description = podcast.Description }; return(View(model)); }