public async Task <GetLandingPageResult> HandleAsync(GetLandingPageQuery query) { query.AssertNotNull("query"); var queryResult = await this.getLandingPageDbStatement.ExecuteAsync(query.CreatorUsername); if (queryResult == null) { return(null); } var blog = queryResult.Blog; var channels = queryResult.Channels; FileInformation headerFileInformation = null; if (blog.HeaderImageFileId != null) { headerFileInformation = await this.fileInformationAggregator.GetFileInformationAsync( null, blog.HeaderImageFileId, FilePurposes.ProfileHeaderImage); } FileInformation profileImageFileInformation = null; if (queryResult.ProfileImageFileId != null) { profileImageFileInformation = await this.fileInformationAggregator.GetFileInformationAsync( null, queryResult.ProfileImageFileId, FilePurposes.ProfileImage); } var blogWithFileInformation = new BlogWithFileInformation( blog.BlogId, blog.BlogName, blog.Introduction, blog.CreationDate, headerFileInformation, blog.Video, blog.Description, channels, blog.Queues); return(new GetLandingPageResult( queryResult.UserId, profileImageFileInformation, blogWithFileInformation)); }
public UserState( Fifthweek.Api.FileManagement.Queries.UserAccessSignatures accessSignatures, Fifthweek.Api.Identity.Membership.GetAccountSettingsResult accountSettings, Fifthweek.Api.Blogs.Queries.BlogWithFileInformation blog, Fifthweek.Api.Blogs.Queries.GetUserSubscriptionsResult subscriptions) { if (accessSignatures == null) { throw new ArgumentNullException("accessSignatures"); } this.AccessSignatures = accessSignatures; this.AccountSettings = accountSettings; this.Blog = blog; this.Subscriptions = subscriptions; }