public IndexModel(ILogger <IndexModel> logger, RazorPageBlogDbContext context)
 {
     _logger            = logger;
     _context           = context;
     _articleBodyLength = 200;
     _pageSize          = 5;
 }
        public static void Initialize(IServiceProvider serviceProvider)
        {
            using var context = new RazorPageBlogDbContext(
                      serviceProvider.GetRequiredService <DbContextOptions <RazorPageBlogDbContext> >());
            if (context.Articles.Any())
            {
                return;
            }

            var tmp  = new List <Article>();
            var tags = new StringBuilder();

            for (var i = 1; i <= 20; i++)
            {
                var tag = RandomTag();
                tmp.Add(new Article
                {
                    Id         = Guid.NewGuid(),
                    Title      = $"第{i}筆部落格",
                    Body       = LoremIpsum(),
                    CoverPhoto = $"http://placehold.it/750x300?text=This is {i}",
                    CreateDate = DateTime.UtcNow.AddDays(i),
                    Tags       = tag,
                });
                tags.Append(tag + ",");
            }

            var tagCloud = tags.ToString()
                           .Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries)
                           .GroupBy(d => d)
                           .Select(d => new { Key = d.Key, Amount = d.Count() })
                           .ToList();

            foreach (var item in tagCloud)
            {
                context.TagClouds.Add(new TagCloud
                {
                    Id     = Guid.NewGuid(),
                    Name   = item.Key,
                    Amount = item.Amount
                });
            }

            context.Articles.AddRange(tmp);
            context.SaveChanges();
        }
 public ArticlesController(RazorPageBlogDbContext blogDb)
 {
     this._blogDb = blogDb;
 }
 public DeleteModel(RazorPageBlogDbContext context)
 {
     _context = context;
 }
 public TagCloudsController(RazorPageBlogDbContext blogDb)
 {
     this._blogDb = blogDb;
 }
 public CreateModel(RazorPageBlogDbContext context)
 {
     _context = context;
 }
 public DetailsModel(RazorPageBlogDbContext context)
 {
     _context = context;
 }
 public IndexModel(RazorPageBlogDbContext context)
 {
     _context  = context;
     _pageSize = 10;
 }
Beispiel #9
0
 public EditModel(RazorPageBlogDbContext context)
 {
     _context = context;
 }
 public TagCloudViewComponent(RazorPageBlogDbContext context)
 {
     _context = context;
 }