public TrackWithAudioDetailsViewModel EditTrack(TrackEditClipViewModel newItem) { var track = ds.Tracks.SingleOrDefault(t => t.Id == newItem.Id); if (track == null) { return(null); } else { byte[] clipBytes = new byte[newItem.ClipUpload.ContentLength]; newItem.ClipUpload.InputStream.Read(clipBytes, 0, newItem.ClipUpload.ContentLength); track.SampleClip = clipBytes; track.ClipContentType = newItem.ClipUpload.ContentType; ds.Entry(track).CurrentValues.SetValues(newItem); ds.SaveChanges(); return(mapper.Map <Track, TrackWithAudioDetailsViewModel>(track)); } }
public ActionResult Edit(int?id, TrackEditClipViewModel newItem) { if (!ModelState.IsValid) { return(RedirectToAction("edit", new { id = newItem.Id })); } if (id.GetValueOrDefault() != newItem.Id) { return(RedirectToAction("index")); } var editedItem = m.EditTrack(newItem); if (editedItem == null) { return(RedirectToAction("edit", new { id = newItem.Id })); } else { return(RedirectToAction("details", new { id = newItem.Id })); } }