public Material SeedMaterial(
            Category category,
            string title,
            int commentsCount, ParagraphsCount materialParagraphsCount, ParagraphsCount commentsParagraphsCount)
        {
            var publishDate = dataContainer.IterateCommentPublishDate();

            int id = dataContainer.NextMaterialId();

            Material material = new Material
            {
                Id           = id,
                Title        = title,
                Text         = GetRandomText(materialParagraphsCount.Min, materialParagraphsCount.Max),
                AuthorId     = dataContainer.GetRandomUserId(),
                CategoryId   = category.Id,
                PublishDate  = publishDate,
                LastActivity = publishDate,
                SortNumber   = id
            };

            if (commentsCount > 0)
            {
                var comments = MakeComments(material, commentsCount, commentsParagraphsCount);

                material.LastActivity  = comments.OrderByDescending(x => x.PublishDate).First().PublishDate;
                material.CommentsCount = comments.Count;

                dataContainer.Comments.AddRange(comments);
            }

            dataContainer.Materials.Add(material);

            return(material);
        }
        public IList <Comment> MakeComments(Material material, int commentsCount,
                                            ParagraphsCount commentsParagraphsCount)
        {
            var addedComments = new List <Comment>();

            for (int i = 1; i <= CommentsCount; i++)
            {
                var comment = new Comment
                {
                    Id          = dataContainer.NextCommentId(),
                    Text        = GetRandomText(commentsParagraphsCount.Min, commentsParagraphsCount.Max),
                    PublishDate = dataContainer.IterateCommentPublishDate(),
                    MaterialId  = material.Id,
                    AuthorId    = dataContainer.GetRandomUserId()
                };

                dataContainer.IterateCommentPublishDate();

                addedComments.Add(comment);
            }

            return(addedComments);
        }