public async Task<ActionResult> AddSong(Song model, HttpPostedFileBase song) { model.Id = Guid.NewGuid().ToString(); model.DateCreated = DateTime.Now; var img = WebImage.GetImageFromRequest("img"); if(img != null) { string imgPath = @"~/Content/Image/SongImages/" + model.Id + "_" + Path.GetFileName(img.FileName); await Task.FromResult(img.Save(imgPath)); model.Thumbnail = imgPath.Replace("~", ""); } else { model.Thumbnail = @"/Content/Image/SongImages/song_default.png"; } model.Link = @"/Content/UploadedSongs/" + model.Id + "_" + Path.GetFileName(song.FileName); model.Name = song.FileName; if(ModelState.IsValid) { song.SaveAs(Path.Combine(Server.MapPath("~/Content/UploadedSongs"), model.Id + "_" + Path.GetFileName(song.FileName))); model.Length = SongLength(Path.Combine(Server.MapPath("~/Content/UploadedSongs"), model.Id + "_" + Path.GetFileName(song.FileName))).ToString(@"mm\:ss"); db.Songs.Add(model); await db.SaveChangesAsync(); return RedirectToAction("ListSongs"); } return View("Error"); }
public async Task<ActionResult> EditSong(Song model) { model.DateModified = DateTime.Now; var img = WebImage.GetImageFromRequest("file"); if(img != null) { string imgPath = @"~/Content/Image/SongImages/" + model.Id + "_" + Path.GetFileName(img.FileName); img.Save(imgPath); model.Thumbnail = imgPath.Replace("~", ""); } else { model.Thumbnail = (await db.Songs.Where(s => s.Id.Equals(model.Id)).AsNoTracking().FirstOrDefaultAsync()).Thumbnail; } if(ModelState.IsValid) { db.Entry(model).State = EntityState.Modified; await db.SaveChangesAsync(); return RedirectToAction("ListSongs"); } return View("Error"); }
public async Task<ActionResult> AddSong() { var model = new Song(); model.Categories = await Task.FromResult(db.Categories.ToList()); model.Performers = await Task.FromResult(db.Performers.ToList()); return View(model); }