public TrackWithDetails TrackEditInfo(TrackEditInfo newItem) { var o = ds.Tracks.Find(newItem.Id); byte[] mediaBytes = new byte[newItem.MediaUpload.ContentLength]; newItem.MediaUpload.InputStream.Read(mediaBytes, 0, newItem.MediaUpload.ContentLength); o.Media = mediaBytes; o.MediaContentType = newItem.MediaUpload.ContentType; if (o == null) { return(null); } else { ds.Entry(o).CurrentValues.SetValues(newItem); ds.SaveChanges(); return(mapper.Map <Track, TrackWithDetails>(o)); } }
public ActionResult Edit(int?id, TrackEditInfo newItem) { if (!ModelState.IsValid) { return(RedirectToAction("edit", new { id = newItem.Id })); } if (id.GetValueOrDefault() != newItem.Id) { return(RedirectToAction("index")); } var editedItem = m.TrackEditInfo(newItem); if (editedItem == null) { return(RedirectToAction("edit", new { id = newItem.Id })); } else { return(RedirectToAction("details", new { id = newItem.Id })); } }