public ActionResult Create(SnippetBindingModel model,string language, string labels) { if (model != null && this.ModelState.IsValid) { var userId = this.User.Identity.GetUserId(); var snippet = new Snippet() { Title = model.Title, Description = model.Description, Author = this.Data.Users.Find(userId), Language = this.Data.Languages.All().FirstOrDefault(l => l.Name == language), }; if (!labels.IsEmpty()) { var allLabels = labels.Split(';'); foreach (var l in allLabels) { var labelToCheck = l.Trim(); var label = this.Data.Labels.All().FirstOrDefault(la => la.Text.ToLower() == labelToCheck.ToLower()); if (label == null) { var newLabel = new Label(){Text = l}; this.Data.Labels.Add(newLabel); this.Data.SaveChanges(); } label = this.Data.Labels.All().FirstOrDefault(la => la.Text == l); snippet.Labels.Add(label); } } this.Data.SaveChanges(); return RedirectToAction("Details", "Snippets", new { id = snippet.Id }); } return RedirectToAction("Index", "Users"); }
public ActionResult Create(SnippetBindingModel model) { if (model != null && this.ModelState.IsValid) { var snippet = Mapper.Map<Snippet>(model); snippet.AuthorId = this.UserProfile.Id; snippet.CreatedAt = DateTime.Now; var labels = this.GetLabels(model.LabelsAsText); this.PopulateLabelsToSnippet(snippet, labels); this.Data.Snippets.Add(snippet); snippet.ProgrammingLanguage = this.Data.ProgrammingLanguages.All() .FirstOrDefault( x => x.Id == model.ProgrammingLanguageId); this.Data.SaveChanges(); return this.RedirectToAction("Details", new { id = snippet.Id }); } this.PopulateLangues(model); return this.View(model); }
private void PopulateLangues(SnippetBindingModel model) { model.Languages = this.populator.GetLanguages(); }
public ActionResult Create() { var snippetBindinModel = new SnippetBindingModel(); this.PopulateLangues(snippetBindinModel); return this.View(snippetBindinModel); }
public ActionResult Edit(SnippetBindingModel model) { if (model != null && this.ModelState.IsValid) { var snippet = this.Data.Snippets.Find(model.Id); snippet.Title = model.Title; snippet.Code = model.Code; snippet.Description = model.Description; snippet.ProgrammingLanguageId = model.ProgrammingLanguageId; var labels = this.GetLabels(model.LabelsAsText); this.AttachNewLabels(snippet, labels); this.Data.Snippets.Add(snippet); snippet.ProgrammingLanguage = this.Data.ProgrammingLanguages.All() .FirstOrDefault( x => x.Id == model.ProgrammingLanguageId); this.Data.SaveChanges(); return this.RedirectToAction("Details", new { id = snippet.Id }); } this.PopulateLangues(model); return this.View(model); }