public ActionResult EditSnippet(int id, EditSnippetModel model) { var snippet = this.Data.Snippets.All() .FirstOrDefault(s => s.Id == id); snippet.Title = model.SnippetBindingModel.Title; snippet.Description = model.SnippetBindingModel.Description; snippet.Code = model.SnippetBindingModel.Code; snippet.LanguageName = model.SnippetBindingModel.Language; foreach (var label in snippet.Labels.ToList()) { snippet.Labels.Remove(label); } this.Data.SaveChanges(); var labels = model.SnippetBindingModel.Labels.Split(';'); foreach (var labelText in labels) { var label = this.Data.Labels.All() .FirstOrDefault(l => l.Text == labelText.Trim()); if (label == null) { var newLabel = new Label() { Text = labelText.Trim() }; snippet.Labels.Add(newLabel); } else { snippet.Labels.Add(label); } } this.Data.SaveChanges(); return this.RedirectToAction("Details", "Snippets", new { id = snippet.Id }); }
public ActionResult Edit() { var languages = this.Data.Languages.All() .Select(l => new SelectListItem() { Text = l.Name }); var editSnippetModel = new EditSnippetModel(); editSnippetModel.SnippetBindingModel = new SnippetBindingModel(); editSnippetModel.Languages = languages; editSnippetModel.Title = this.TempData["Title"].ToString(); editSnippetModel.SnippetId = (int)this.TempData["SnippetId"]; return this.View(editSnippetModel); }