// 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();
 }
Example #4
0
        public ActionResult Keyword(string keyword)
        {
            var model = new KeywordViewModel
            {
                Keyword = keyword
            };

            return(View("ComingSoon"));
        }
Example #5
0
        // GET: Keyword/Create
        public ActionResult Create(int payeeId)
        {
            var model = new KeywordViewModel
            {
                PayeeId = payeeId
            };

            return(View(model));
        }
Example #6
0
        // GET: Keyword/Delete/5
        public ActionResult Delete(string keyword, int payeeId)
        {
            var model = new KeywordViewModel
            {
                Value   = keyword,
                PayeeId = payeeId
            };

            return(View(model));
        }
Example #7
0
 public ActionResult Delete(KeywordViewModel model)
 {
     try
     {
         repository.RemoveKeyword(model.Value, model.PayeeId);
         return(RedirectToAction("Details", "Payee", new { id = model.PayeeId }));
     }
     catch
     {
         return(View());
     }
 }
Example #8
0
        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));
        }
Example #9
0
        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);
            }
        }
Example #10
0
        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"));
            }
        }
Example #11
0
        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);
            }
        }
Example #12
0
        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);
        }
Example #13
0
        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);
            }
        }