Example #1
0
        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 });
        }
Example #2
0
        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);
        }