Пример #1
0
        public void CreateCategoryItem(CategoryItemDTO item)
        {
            Mapper.CreateMap <CategoryItemDTO, CategoryItem>();
            var it = Mapper.Map <CategoryItemDTO, CategoryItem>(item);

            _unitOfWork.CategoryItemRepository.Create(it);
            _unitOfWork.Save();
        }
Пример #2
0
 private void Categories_CategorySelectionChanged(CategoryItemDTO category)
 {
     _mainPageViewModel.CategoryPageViewModel.IsCategorySelected = true;
     _mainPageViewModel.CategoryPageViewModel.CategoryName       = category.CategoryName;
     _mainPageViewModel.CategoryPageViewModel.SubCategorySelector.SubCategories = _mainPageViewModel.ScrapersManager.GetFanFicSubCategories(category.CategoryUri);
     if (CategorySelectionChanged != null)
     {
         CategorySelectionChanged(category);
     }
 }
Пример #3
0
        internal ObservableCollection <CategoryItemDTO> GetFanFicCategories()
        {
            try
            {
                bool scrapeSucceeded = true;

                ObservableCollection <CategoryItemDTO> result = new ObservableCollection <CategoryItemDTO>();

                byte[] mainPageHtml = _webClient.DownloadData(string.Format(_baseUri, string.Empty));
                string source       = Encoding.GetEncoding("iso-8859-1").GetString(mainPageHtml, 0, mainPageHtml.Length - 1);
                source = WebUtility.HtmlDecode(source);
                _decoder.LoadHtml(source);

                HtmlNode fanFicNode = _decoder.DocumentNode.Descendants().FirstOrDefault(x => (x.Name == "table" &&
                                                                                               x.Attributes["align"] != null &&
                                                                                               x.Attributes["align"].Value.Contains("center")));

                if (fanFicNode != null)
                {
                    List <HtmlNode> categories = fanFicNode.Descendants().Where(x => (x.Name == "td" &&
                                                                                      x.Attributes["align"] != null &&
                                                                                      x.Attributes["align"].Value.Contains("left"))).ToList();
                    if (categories != null)
                    {
                        foreach (HtmlNode category in categories)
                        {
                            CategoryItemDTO item = GetCategoryNodeInformation(category);
                            if (item != null)
                            {
                                result.Add(item);
                            }
                        }
                    }
                    else
                    {
                        scrapeSucceeded = false;
                    }
                }
                else
                {
                    scrapeSucceeded = false;
                }

                if (!scrapeSucceeded)
                {
                    //TODO: Advise user that nothing has been found and disable UI
                }

                return(result);
            } catch (Exception e)
            {
                return(new ObservableCollection <CategoryItemDTO>());
            }
        }
Пример #4
0
        public async Task <IActionResult> AddItem(CategoryItemDTO categoryItemDTO)
        {
            //Check if the user is authenticated
            if (User.Identity.IsAuthenticated)
            {
                var useraccount = await this._userManager.FindByNameAsync(User.Identity.Name);

                Traveler traveler = this._userRepository.getTraveler(useraccount);
                Category category = traveler.Categories.FirstOrDefault(e => e.Id == categoryItemDTO.CategorylId);
                if (category != null)
                {
                    Item item = this._itemRepository.GetItem(categoryItemDTO.ItemId);
                    if (item != null)
                    {
                        category.Items.Add(item);
                        this._categoryRepository.SaveChanges();
                        return(Ok());
                    }
                }
                return(NotFound());
            }
            return(Unauthorized());
        }
Пример #5
0
 private void _mainPage_CategorySelectionChanged(CategoryItemDTO category)
 {
     _pagesHelper.WindowTitle = string.Format(_windowTitle, string.Format(_windowTitleCategory, category.CategoryName));
     _mainPageViewModel.CurrentCategoryViewModel = _mainPageViewModel.GetCategoryPage();
 }