// GET: Keywords/Edit/5 public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } var keyword = await _context.Keywords.FindAsync(id); if (keyword == null) { return(NotFound()); } ViewData["KeywordDefinitionId"] = new SelectList(_context.KeywordDefinitions, "KeywordDefinitionId", "KeywordDefinitionName", keyword.KeywordDefinitionId); KeywordDefinition keywordDef = _dataDictionaryRepository.GetDefinitionById(keyword.KeywordDefinitionId); if (keywordDef != null) { var keywordViewModel = new KeywordViewModel(keyword, keywordDef); return(View(keywordViewModel)); } else { return(View(keyword)); } }
// GET: Keywords/Details/5 public async Task <IActionResult> Details(int?id) { if (id == null) { return(NotFound()); } var keyword = await _context.Keywords .Include(k => k.KeywordDefinition) .FirstOrDefaultAsync(m => m.KeywordId == id); if (keyword == null) { return(NotFound()); } KeywordDefinition keywordDef = _dataDictionaryRepository.GetDefinitionById(keyword.KeywordDefinitionId); if (keywordDef != null) { var keywordViewModel = new KeywordViewModel(keyword, keywordDef); return(View(keywordViewModel)); } else { return(View(keyword)); } }
protected override void HandleCurrentProfileChanged() { UpdateFontButtonText(CurrentProfile.Stamping); AuthorViewModel.RaiseTextChanged(); TitleViewModel.RaiseTextChanged(); SubjectViewModel.RaiseTextChanged(); KeywordViewModel.RaiseTextChanged(); }
public ActionResult Keyword(string keyword) { var model = new KeywordViewModel { Keyword = keyword }; return(View("ComingSoon")); }
// GET: Keyword/Create public ActionResult Create(int payeeId) { var model = new KeywordViewModel { PayeeId = payeeId }; return(View(model)); }
// GET: Keyword/Delete/5 public ActionResult Delete(string keyword, int payeeId) { var model = new KeywordViewModel { Value = keyword, PayeeId = payeeId }; return(View(model)); }
public ActionResult Delete(KeywordViewModel model) { try { repository.RemoveKeyword(model.Value, model.PayeeId); return(RedirectToAction("Details", "Payee", new { id = model.PayeeId })); } catch { return(View()); } }
public ActionResult KeyWord() { KeywordViewModel vm = new KeywordViewModel(); _context.tblDocumentKeyWords.ToList().ForEach(x => vm.KeyWords.Add(new KeywordModel() { Id = x.Id, KeyWordName = x.KeyWordName })); return(View(vm)); }
public ActionResult CreateKeyword() { try { var viewModel = new KeywordViewModel { Languages = _context .Languages .Select(language => new SelectListItem { Text = language.Definition, Value = SqlFunctions.StringConvert((double?)language.LanguageId).Trim() }) .ToList(), Tags = _context.Tags.Where(p => p.TagParentId != null).ToList() }; return(PartialView("_NewKeyword", viewModel)); } catch (Exception exception) { throw new Exception("Error in ManagementController.CreateKeyword [Get]", exception); } }
public async Task <ActionResult> FindComposition([FromBody] KeywordViewModel keyword) { try { if (keyword == null) { logger.LogError($"Keyword object sent from client is null"); return(BadRequest("Keyword object is null")); } var result = await compositionAdapter.FindInCompositions(keyword.Keyword).ConfigureAwait(false); logger.LogInformation($"Composition find action succeed"); return(Ok(result)); } catch (Exception ex) { logger.LogError($"Something went wrong inside CreateComment action: {ex.Message}"); return(StatusCode(500, "Internal server error")); } }
public ActionResult CreateKeyword(FormCollection form, KeywordViewModel viewModel) { try { //... // Languages viewModel.Languages = _context .Languages .Select(language => new SelectListItem { Text = language.Definition, Value = SqlFunctions.StringConvert((double?)language.LanguageId).Trim() }) .ToList(); //... // Tags viewModel.Tags = _context.Tags.Where(p => p.TagParentId != null).ToList(); // ... // Validations if (string.IsNullOrWhiteSpace(viewModel.Definition)) { ViewBag.Result = false; ViewBag.ResultMessage = "Lütfen başlık bölümünü doldurunuz!"; return(PartialView("_NewKeyword", viewModel)); } if (viewModel.SelectedTags == null) { ViewBag.Result = false; ViewBag.ResultMessage = "Lütfen en az bir etiket seçiniz!"; return(PartialView("_NewKeyword", viewModel)); } // Check keyword for existence var keywordExists = _context.Keywords.Any(p => p.Definition.ToLower().Equals(viewModel.Definition.ToLower())); if (keywordExists) { ViewBag.Result = false; ViewBag.ResultMessage = "Bu başlık daha önceden girilmiş."; return(PartialView("_NewKeyword", viewModel)); } //... // Create Keyword var keyword = new Keyword { Definition = viewModel.Definition, LanguageId = viewModel.LanguageId, Synonym = viewModel.Synonym, Antonym = viewModel.Antonym, //Order = viewModel.Order, Approved = true, CreateUserId = WebSecurity.CurrentUserId, CreateDate = DateTime.Now }; _context.Keywords.Add(keyword); _context.SaveChanges(); //... // Create Tags for newly created keyword foreach (var item in form["SelectedTags"].Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)) { var keywordTag = new KeywordTag { KeywordId = keyword.KeywordId, TagId = Convert.ToInt32(item), CreateDate = DateTime.Now }; _context.KeywordTags.Add(keywordTag); } //... // Save changes _context.SaveChanges(); ViewBag.Result = true; ViewBag.ResultMessage = "Girdiğiniz içerik başarıyla kaydedilmiştir."; return(PartialView("_NewKeyword", viewModel)); } catch (Exception exception) { throw new Exception("Error in ContentController.CreateKeyword [Post]", exception); } }
public void EditDetailsReplacesKeywordListFromInputModel() { // Arrange var mediaList = this.GetMedia(); var media = mediaList[0]; var keywords = this.GetKeywords(); var mediaKeywordsList = new List <MediaKeyword>(); foreach (var keyword in keywords) { mediaKeywordsList.Add(new MediaKeyword() { Media = media, Keyword = keyword, KeywordId = keyword.Id }); } media.Keywords = mediaKeywordsList; var mediaMock = new Mock <IRepository <Media> >(); var keywordsMock = new Mock <IRepository <Keyword> >(); var mediaKeywordsMock = new Mock <IRepository <MediaKeyword> >(); mediaMock.Setup(x => x.All()).Returns(mediaList.AsQueryable); mediaMock.Setup(x => x.AddAsync(It.IsAny <Media>())) .Callback((Media model) => mediaList.Add(model)); keywordsMock.Setup(x => x.AddAsync(It.IsAny <Keyword>())) .Callback((Keyword model) => keywords.Add(model)); mediaKeywordsMock.Setup(x => x.Delete(It.IsAny <MediaKeyword>())) .Callback((MediaKeyword model) => mediaKeywordsList.Remove(model)); var title = "Borat"; var expectedTitle = title + "Film"; var editMediaId = mediaList.FirstOrDefault(x => x.Title == title).Id; var expectedCount = mediaList.Count; var expectedGenre = "Adventure"; var mediaService = new MediaService(mediaMock.Object, this.genreRepo, keywordsMock.Object, mediaKeywordsMock.Object); var keywordInput = this.GetKeywords().Select(x => new KeywordViewModel() { Value = x.Name, Id = x.Id }).ToList(); var newKeyword = new KeywordViewModel() { Value = "new keyword" }; keywordInput.Add(newKeyword); var expectedToBeRemoved = mediaKeywordsList[0]; keywordInput.RemoveAt(0); var serializedKeywords = JsonConvert.SerializeObject(keywordInput); var inputModel = new MediaDetailsInputModel() { Id = editMediaId, Title = expectedTitle, Budget = 1000, Overview = "ijweifgjwiegjweigoweg", Runtime = 100, ReleaseDate = DateTime.Now, MediaType = "Movie", Keywords = serializedKeywords, Genres = expectedGenre, }; // Act Task.Run(async() => { await mediaService.EditDetailsAsync(inputModel, string.Empty, string.Empty); }).GetAwaiter().GetResult(); // Assert Assert.False(media.Keywords.Contains(expectedToBeRemoved)); Assert.Contains(media.Keywords, x => x.Keyword.Name == newKeyword.Value); }
public List <LinkViewModel> GetLinks(int count) { using (var ctx = new DbModel()) { var resultVm = new List <LinkViewModel>(); var links = ctx.Links.OrderByDescending(l => l.ID).Take(count).ToList(); links.ForEach(l => { var link = new LinkViewModel { Id = l.ID, Title = l.Title, Description = l.Description, Url = l.Url }; resultVm.Add(link); }); var linkIds = links.Select(l => l.ID); var x = from k in ctx.Keywords join lk in ctx.LinksKeywords on k.ID equals lk.KeywordID where linkIds.Contains(lk.LinkID) select new { KeywordID = k.ID, LinkID = lk.LinkID, Keyword = k.Keyword }; var linksKeywords = new List <LinksKeywords>(); var keywordsPerLink = new List <KeywordViewModel>(); x.ToList().ForEach(y => { var linkKeyword = new LinksKeywords { LinkID = y.LinkID, KeywordID = y.KeywordID }; var keyword = new KeywordViewModel { Id = y.KeywordID, Keyword = y.Keyword }; linksKeywords.Add(linkKeyword); keywordsPerLink.Add(keyword); }); //var linksKeywords = from k in ctx.Keywords // join lk in ctx.LinksKeywords on k.ID equals lk.KeywordID // where linkIds.Contains(lk.LinkID) // select new LinksKeywords { KeywordID = k.ID, LinkID = lk.LinkID }; //var keywordsPerLink = from k in ctx.Keywords // join lk in ctx.LinksKeywords on k.ID equals lk.KeywordID // where linkIds.Contains(lk.LinkID) // select new KeywordViewModel { Id = k.ID, Keyword = k.Keyword }; resultVm.ForEach(rvm => { var lk = linksKeywords.Where(linksKey => linksKey.LinkID == rvm.Id); if (lk != null && lk.Any()) { var lkIds = lk.Select(xy => xy.KeywordID); rvm.Keywords = keywordsPerLink.Where(k => lkIds.Contains(k.Id)) .Select(k => new KeywordViewModel { Id = k.Id, Keyword = k.Keyword }) .ToList(); } else { rvm.Keywords = new List <KeywordViewModel>(); } }); //resultVm.ForEach(rvm => //{ // rvm.Keywords = keywordsPerLink.Where(keywords => keywords.LinkId == rvm.Id).ToList(); //}); return(resultVm); } }