示例#1
0
        public Statistics(Article article)
        {
            InitializeComponent();
            _article = article;

            LettersLabel.Content = IocHelper.ArticleHelperService.GetCountOfLetters(_article);
            WordsLabel.Content = IocHelper.ArticleHelperService.GetCountOfWords(_article);
            SentencesLabel.Content = IocHelper.ArticleHelperService.GetCountOfSentences(_article);
            ArticleNameLabel.Content = _article.ArticleName;
            ArticleNameLabel.ToolTip = _article.ArticleName;
        }
示例#2
0
 public Create(MainWindow mainWindow, bool isXml, Article editableAtricle = null)
 {
     InitializeComponent();
     _mainWindow = mainWindow;
     _editableAtricle = editableAtricle;
     if (_editableAtricle != null)
     {
         Name.Text = _editableAtricle.ArticleName;
         Text.Text = _editableAtricle.InitialText;
         Link.Text = _editableAtricle.Link;
         AuthorNameTextBox.Text = _editableAtricle.AuthorName;
         foreach (var image in _editableAtricle.Images)
         {
             var img = new Image();
             img.Stretch = Stretch.Fill;
             img.Name = IMAGE_NAME_SUFFIX + image.ImageId;
             CreateBitmapImageFromData(image.Data, img);
             ImageListBox.Items.Add(img);
         }
     }
     else
     {
         _creatableAtricle = new Article();
     }
     _isXml = isXml;
     var groups = IocHelper.GroupService.GetAllGroups(c => c.GroupId);
     var names = groups.Select(c => c.GroupName);
     foreach (var name in names)
     {
         GroupsComboBox.Items.Add(name);
     }
     GroupsComboBox.SelectedIndex = 0;
     if (_editableAtricle != null && groups.Select(c => c.Groups).Select(c => c.Contains(_editableAtricle.ArticleName)).Any())
     {
         foreach (var item in GroupsComboBox.Items)
         {
             var res = groups.FirstOrDefault(c => c.GroupName == item.ToString());
             if (res != null)
             {
                 bool val = res.Groups.Contains(_editableAtricle.ArticleName);
                 if (val)
                 {
                     var index = GroupsComboBox.Items.IndexOf(res.GroupName);
                     GroupsComboBox.SelectedIndex = index;
                 }
             }
         }
     }
 }
 public void SetUp()
 {
     rep = new ArticleDBRepository();
     article = new Article
     {
         ArticleName = "Name",
         InitialText = "Descr",
         Link = "*****@*****.**",
         Images = new List<Image>
         {
             new Image
             {
                 Name = "fedor",
                 Data = WebRock.Utils.FileUtils.IOUtils.GetDataFromUrl(@"d:\CURRENT_FWD\Output\Content\Images\2.png")
             }
         }
     };
 }
 public void SetUp()
 {
     rep = new ArticleXmlRepository();
     article = new Article
     {
         ArticleName = "Name",
         InitialText = "Descr",
         Link = "*****@*****.**",
         Images = new List<Image>
         {
             new Image
             {
                 Name = "fedor",
                 Data = WebRock.Utils.FileUtils.IOUtils.GetDataFromUrl(@"C:\Users\shkorodenok\Desktop\GramarNazi.jpg")
             }
         }
     };
 }
示例#5
0
        public void ShouldRiseExceptionWhenSaveExistinLink()
        {
            var rep = new ArticleJsonRepository();
            var article = new Article
            {
                ArticleName = "Name",
                InitialText = "Descr",
                Link = "*****@*****.**",
                Images = new List<Image>
                {
                    new Image
                    {
                        Name = "fedor",
                        Data = WebRock.Utils.FileUtils.IOUtils.GetDataFromUrl(@"d:\CURRENT_FWD\Output\Content\Images\2.png")
                    }
                }
            };

            rep.Save(article);
        }
示例#6
0
        public void ShouldSave()
        {
            var rep = new ArticleJsonRepository();
            var random = new Random();
            var article = new Article
            {
                ArticleName = "Name",
                InitialText = "Descr",
                Link = "*****@*****.**" + random.Next(0,10000000),
                Images = new List<Image>
                {
                    new Image
                    {
                        Name = "fedor",
                        Data = WebRock.Utils.FileUtils.IOUtils.GetDataFromUrl(@"d:\CURRENT_FWD\Output\Content\Images\2.png")
                    }
                }
            };

            rep.Save(article);
        }
示例#7
0
 public ArticleDto(Article article)
 {
     Images = new List<ImageDto>();
     ArticleId = article.ArticleId.ToString();
     ArticleName = article.ArticleName;
     Link = article.Link;
     Content = article.HtmlText;
     AuthorName = article.AuthorName;
     Group = article.ArticleGroup.MaybeAs<ArticleGroup>()
                 .Bind(c => c.GroupName)
                 .GetOrDefault(null);
     Rate = article.Rate;
     if (article.Images != null && article.Images.Any())
     {
         foreach (var image in article.Images)
         {
             Images.Add(new ImageDto
             {
                 ImageId = image.ImageId,
                 ImageName = image.Name
             });
         }
     }
 }
示例#8
0
        public Article Convert()
        {
            int articleId;
            var article = new Article
            {
                ArticleId = this.ArticleId.MaybeAs<string>().Bind(c => string.IsNullOrEmpty(c) ? 0 : int.Parse(c)).GetOrDefault(0),
                AuthorName = this.AuthorName,
                InitialText = this.Content,
                ArticleName = this.ArticleName,
                Link = this.Link,
                ArticleGroup = this.Group == null ? null : new ArticleGroup { GroupName = this.Group}
            };

            if (this.ImageIds != null)
            {
                var results = CommonHelper.Instance.TempFiles.Where(c => ImageIds.Contains(c.GuidId.ToString()));

                article.Images = new List<Image>();
                article.Images.AddRange(results.Select(c => new Image()
                {
                    Data = c.ImageData,
                    Name = c.Name,
                }));

                if (article.ArticleId != 0)
                {
                    var helper = new IocHelper();
                    var expArticle = helper.ArticleService.GetArticleById(article.ArticleId);
                    article.Images.AddRange(expArticle.Images);
                }
            }
            return article;
        }
示例#9
0
        private void ListOfArticle_OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            try
            {
                ListBoxItem item;
                var lstItem = sender as ListBox;
                var elem = lstItem.InputHitTest(e.GetPosition(lstItem)) as UIElement;

                while (elem != lstItem)
                {
                    if (elem is ListBoxItem)
                    {
                        item = (ListBoxItem)elem;
                        lstItem.SelectedItems.Clear();
                        int id = int.Parse(item.Name.Replace("article_", ""));
                        if (IocHelper.ArticleService == null)
                        {
                            JustHelper.ToggleToRightSource(isXml);
                        }
                        var article = IocHelper.ArticleService.GetArticleById(id);
                        _viewingArticle = article;
                        FillContent(article);
                        CreateMatchingSelection(Finder.Text);
                        item.IsSelected = true;
                        return;
                    }
                    elem = (UIElement)VisualTreeHelper.GetParent(elem);
                }
            }
            catch (Exception ex)
            {

                ShowMessage(ex.Message, "Ошибка", MessageBoxImage.Error);
            }
        }
示例#10
0
 private void FillContent(Article article)
 {
     if (article != null)
     {
         Description.Text = article.InitialText;
         Hyperlink.NavigateUri = new Uri(article.Link);
         HyperlinkText.Text = article.Link;
         HyperlinkText.ToolTip = article.Link;
         AuthorName.Content = article.AuthorName;
         AuthorName.ToolTip = article.AuthorName;
         Remove.IsEnabled = ListOfArticle.SelectedItems.Count > 0 || _viewingArticle == null;
         ImageListBox.Items.Clear();
         if (article.Images != null)
         {
             foreach (var img in article.Images)
             {
                 var image = new Image();
                 image.Stretch = Stretch.Fill;
                 image.Name = IMAGE_NAME_SUFFIX + img.ImageId.ToString();
                 CreateBitmapImageFromData(img.Data, image);
                 image.Margin = new Thickness(0, 0, 0, 10);
                 ImageListBox.Items.Add(image);
             }
         }
     }
 }
示例#11
0
        private void ChooseAndFillView(IEnumerable<ArticleGroup> groups, IEnumerable<Article> result)
        {
            if (_isGroupsVisible)
            {
                TreeViewHelper.Instance.FillTreeView(groups, result, ArticleTreeView);
                ArticleTreeView.Visibility = Visibility.Visible;
                ListOfArticle.Visibility = Visibility.Hidden;
            }
            else
            {
                CreateListOfArticles(result);
                ArticleTreeView.Visibility = Visibility.Hidden;
                ListOfArticle.Visibility = Visibility.Visible;
            }
            InvokeCounter();
            if (Articles.Any())
            {
                FillContent(Articles.First());
                _viewingArticle = Articles.First();
                if (_isGroupsVisible)
                {
                    TreeViewHelper.Instance.SelectAndExpand(ArticleTreeView, _viewingArticle);
                }
                else
                {
                    ListOfArticle.SelectedItem = ListOfArticle.Items[0];
                }

            }
        }
示例#12
0
        private void ArticleTreeView_OnSelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
        {
            try
            {
                var view = sender as TreeView;
                var res = TreeViewHelper.Instance.GetArticleFromTreeView(view, Articles);
                if (res != null)
                {
                    FillContent(res);
                    _viewingArticle = res;
                    TreeViewHelper.Instance.SelectAndExpand(view, res);
                    //CreateMatchingSelection(Finder.Text);
                }

                var enabled = Articles.Count > 0;
                Remove.IsEnabled = enabled || _viewingArticle != null;
                Edit.IsEnabled = enabled || _viewingArticle != null;
                Statisticks.IsEnabled = enabled || _viewingArticle != null;
            }
            catch (Exception exception)
            {
                ShowMessage(exception.Message, "Ошибка", MessageBoxImage.Error);
            }
        }
示例#13
0
 public void SelectAndExpand(TreeView view, Article selectedArticle)
 {
     if (selectedArticle != null)
     {
         foreach (var item in view.Items)
         {
             var converted = item as TreeViewItem;
             foreach (var item1 in converted.Items)
             {
                 var converted1 = item1 as TreeViewItem;
                 if (converted1.Header.ToString() == selectedArticle.ArticleName)
                 {
                     converted.IsExpanded = true;
                     converted1.IsSelected = true;
                     break;
                 }
             }
         }
     }
 }
 public void ShouldNotDeleteNotExistingArticleTest()
 {
     var article = new Article
     {
         ArticleName = "Name",
         InitialText = "Descr",
         Link = "*****@*****.**"
     };
     rep.Delete(article);
 }
示例#15
0
 private void InitGroups(Article article)
 {
     var group = GetGroup();
     if (@group.Groups == null)
     {
         @group.Groups = new List<string>();
     }
     @group.Groups.Add(article.ArticleName);
     IocHelper.GroupService.UpdateGroup(@group);
     _mainWindow.Groups = IocHelper.GroupService.GetAllGroups(c => c.GroupId).ToList();
 }