public ActionResult Edit(int id) { var mailForm = DB2.Emails.Find(id); // файлы, присоединенные к форме var mediaFiles = mailForm.MediaFiles .Select(x => new { x.Id, x.ImageName }) .ToList() .Select(x => Tuple.Create(x.Id, x.ImageName)) .ToList(); var mediaFilesIds = mediaFiles.Select(y => y.Item1).ToList(); // все доступные файлы, кроме уже присоединенных var allMediaFiles = DB2.MediaFiles .Where(x => x.EntityType == EntityType.Email && !mediaFilesIds.Contains(x.Id)) .Select(x => new { x.Id, x.ImageName }) .ToList() .Select(x => Tuple.Create(x.Id, x.ImageName)) .ToList(); var model = new MailFormUi() { Body = mailForm.Body, Description = mailForm.Description, Id = mailForm.Id, Subject = mailForm.Subject, MediaFiles = mediaFiles, AllMediaFiles = allMediaFiles }; return(View(model)); }
public ActionResult Edit(MailFormUi model) { var mailForm = DB2.Emails.SingleOrDefault(x => x.Id == model.Id); if (mailForm == null) { return(RedirectToAction("Index")); } mailForm.Body = model.Body; mailForm.Subject = model.Subject; DB2.SaveChanges(); return(RedirectToAction("Edit", new { id = model.Id })); }