public async Task <IReadOnlyList <PostArchiveItemModel> > GetArchivedPosts(int year, int month = 0) { var spec = new ArchivedPostSpec(year, month); var list = await _postRepository.SelectAsync(spec, p => new PostArchiveItemModel { PubDateUtc = p.PostPublish.PubDateUtc.GetValueOrDefault(), Slug = p.Slug, Title = p.Title }); return(list); }
public async Task <IReadOnlyList <PostArchiveItemModel> > GetArchivedPostsAsync(int year, int month = 0) { if (year < DateTime.MinValue.Year || year > DateTime.MaxValue.Year) { throw new ArgumentOutOfRangeException(nameof(year)); } if (month > 12 || month < 0) { throw new ArgumentOutOfRangeException(nameof(month)); } var spec = new ArchivedPostSpec(year, month); var list = await _postRepository.SelectAsync(spec, p => new PostArchiveItemModel { PubDateUtc = p.PostPublish.PubDateUtc.GetValueOrDefault(), Slug = p.Slug, Title = p.Title }); return(list); }