public ActionResult Create() { var languages = this.Data.Languages.All() .Select(l => new SelectListItem() { Text = l.Name }); var createSnippetModel = new CreateSnippetModel(); createSnippetModel.SnippetBindingModel = new SnippetBindingModel(); createSnippetModel.Languages = languages; return this.View(createSnippetModel); }
public ActionResult Create(CreateSnippetModel model) { string userId = this.User.Identity.GetUserId(); var newSnippet = new Snippet() { Title = model.SnippetBindingModel.Title, Description = model.SnippetBindingModel.Description, Code = model.SnippetBindingModel.Code, CreationTime = DateTime.Now, LanguageName = model.SnippetBindingModel.Language, AuthorId = userId }; this.Data.Snippets.Add(newSnippet); this.Data.SaveChanges(); var snippet = this.Data.Snippets.All() .FirstOrDefault(s => s.Id == newSnippet.Id); 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 }); }