// GET: Sentiment public virtual ActionResult Index(Guid id) { using (var db = new TextSentimentDbContext()) { var text = db.TextAnalyses.Include(m => m.Sentiments).FirstOrDefault(t => t.Id == id); if (text == null) { return(RedirectToAction(MVC.Home.Index())); } var selectedSentiments = text.Sentiments.Select(se => se.Id).ToArray(); var model = new IndexSentimentViewModel { Id = text.Id, Text = text.TextContent, Title = text.Title, SelectedSentiments = new MultiSelectFormDto() { AvailableOptions = db.Sentiments.Select(s => new Option() { Description = s.EmotionName, Id = s.Id, IsSelected = selectedSentiments.Contains(s.Id) }).ToList() } }; return(View(model)); } }
public virtual ActionResult Index(IndexSentimentViewModel viewModel) { using (var db = new TextSentimentDbContext()) { var text = db.TextAnalyses.Include(d => d.Sentiments).FirstOrDefault(t => t.Id == viewModel.Id); if (text != null) { text.Sentiments.Clear(); var sentiments = db.Sentiments.ToDictionary(s => s.Id); foreach (var sentimentIds in viewModel.SelectedSentiments.SelectedOptions) { text.Sentiments.Add(sentiments[sentimentIds]); } db.SaveChanges(); } } return(RedirectToAction(MVC.Home.Index())); }