Families.Web 1.0.0.0
사진, 동영상, 글, 댓글과 반응을 가족끼리만 공유하는 비공개 앨범·타임라인 서비스입니다.
로딩중...
검색중...
일치하는것 없음
FamiliesApp.ViewModels.FamilyAlbumViewModel 클래스 참조sealed

더 자세히 ...

FamiliesApp.ViewModels.FamilyAlbumViewModel에 대한 협력 다이어그램:

Public 멤버 함수

 FamilyAlbumViewModel (IFamilyTenantStore tenants, IPostStore posts, IAlbumStore albums, IMediaService media)
string GetMediaUrl (string postId, string fileName)
string GetThumbUrl (string postId, string fileName)
async Task LoadAsync (string slug, CancellationToken ct=default)
async Task LoadPageAsync (string slug, int page, CancellationToken ct=default)
async Task< IReadOnlyList< PostEntry > > GetAlbumPostsAsync (string slug, string albumId, CancellationToken ct=default)
async Task<(IReadOnlyList< PostEntry > Items, int TotalCount)> GetAlbumPageAsync (string slug, string albumId, int page, CancellationToken ct=default)

속성

int PageSize [get]
FamilyConfigConfig [get, private set]
IReadOnlyList< PostEntryPosts = [] [get, private set]
IReadOnlyList< AlbumInfoAlbums = [] [get, private set]
bool IsLoaded [get, private set]
bool NotFound [get, private set]
int CurrentPage = 1 [get, private set]
int TotalCount [get, private set]
int TotalPages [get]
string FamilyName [get]
string Bio [get]
string ThemeName [get]
bool AllowReactions [get]
bool AllowComments [get]
string CoverImageUrl [get]
string OgTitle [get]
string OgDescription [get]
string OgImageUrl [get]

정적 Private 멤버 함수

static bool IsExternalUrl (string s)

Private 속성

readonly IFamilyTenantStore _tenants
readonly IPostStore _posts
readonly IAlbumStore _albums
readonly IMediaService _media

상세한 설명

Family Album View Model 기능과 관련 상태를 캡슐화합니다.

FamilyAlbumViewModel.cs 파일의 14 번째 라인에서 정의되었습니다.

생성자 & 소멸자 문서화

◆ FamilyAlbumViewModel()

FamiliesApp.ViewModels.FamilyAlbumViewModel.FamilyAlbumViewModel ( IFamilyTenantStore tenants,
IPostStore posts,
IAlbumStore albums,
IMediaService media )
inline

지정한 설정으로 FamilyAlbumViewModel 클래스의 새 인스턴스를 초기화합니다.

매개변수
tenantstenants에 사용할 IFamilyTenantStore 값입니다.
postsposts에 사용할 IPostStore 값입니다.
albumsalbums에 사용할 IAlbumStore 값입니다.
mediamedia에 사용할 IMediaService 값입니다.

FamilyAlbumViewModel.cs 파일의 93 번째 라인에서 정의되었습니다.

95 {
96 _tenants = tenants;
97 _posts = posts;
98 _albums = albums;
99 _media = media;
100 }

다음을 참조함 : _albums, _media, _posts, _tenants.

멤버 함수 문서화

◆ GetAlbumPageAsync()

async Task<(IReadOnlyList< PostEntry > Items, int TotalCount)> FamiliesApp.ViewModels.FamilyAlbumViewModel.GetAlbumPageAsync ( string slug,
string albumId,
int page,
CancellationToken ct = default )
inline

Album Page Async 값을 가져옵니다.

매개변수
slugslug에 사용할 string 값입니다.
albumIdalbum Id에 사용할 string 값입니다.
pagepage에 사용할 int 값입니다.
ct취소 요청을 감시하는 토큰입니다.
반환값
Get Album Page Async 작업에서 생성한 Task<(IReadOnlyList<PostEntry> Items, int TotalCount)> 결과입니다.

FamilyAlbumViewModel.cs 파일의 571 번째 라인에서 정의되었습니다.

573 => await _posts.GetByAlbumPageAsync(slug, albumId, page, PageSize, ct).ConfigureAwait(false);

다음을 참조함 : _posts, PageSize, TotalCount.

◆ GetAlbumPostsAsync()

async Task< IReadOnlyList< PostEntry > > FamiliesApp.ViewModels.FamilyAlbumViewModel.GetAlbumPostsAsync ( string slug,
string albumId,
CancellationToken ct = default )
inline

Album Posts Async 값을 가져옵니다.

매개변수
slugslug에 사용할 string 값입니다.
albumIdalbum Id에 사용할 string 값입니다.
ct취소 요청을 감시하는 토큰입니다.
반환값
Get Album Posts Async 작업에서 생성한 Task<IReadOnlyList<PostEntry>> 결과입니다.

FamilyAlbumViewModel.cs 파일의 520 번째 라인에서 정의되었습니다.

521 => await _posts.GetByAlbumAsync(slug, albumId, ct).ConfigureAwait(false);

다음을 참조함 : _posts.

◆ GetMediaUrl()

string FamiliesApp.ViewModels.FamilyAlbumViewModel.GetMediaUrl ( string postId,
string fileName )
inline

Media Url 값을 가져옵니다.

매개변수
postIdpost Id에 사용할 string 값입니다.
fileNamefile Name에 사용할 string 값입니다.
반환값
Get Media Url 작업에서 생성한 string 결과입니다.

FamilyAlbumViewModel.cs 파일의 352 번째 라인에서 정의되었습니다.

352 =>
353 IsExternalUrl(fileName) ? fileName : _media.GetMediaUrl(Config?.Slug ?? "", postId, fileName);

다음을 참조함 : _media, Config.

◆ GetThumbUrl()

string FamiliesApp.ViewModels.FamilyAlbumViewModel.GetThumbUrl ( string postId,
string fileName )
inline

Thumb Url 값을 가져옵니다.

매개변수
postIdpost Id에 사용할 string 값입니다.
fileNamefile Name에 사용할 string 값입니다.
반환값
Get Thumb Url 작업에서 생성한 string 결과입니다.

FamilyAlbumViewModel.cs 파일의 387 번째 라인에서 정의되었습니다.

387 =>
388 IsExternalUrl(fileName) ? fileName : _media.GetThumbUrl(Config?.Slug ?? "", postId, fileName);

다음을 참조함 : _media, Config.

◆ IsExternalUrl()

bool FamiliesApp.ViewModels.FamilyAlbumViewModel.IsExternalUrl ( string s)
inlinestaticprivate

Is External Url 조건을 확인합니다.

매개변수
s이벤트를 발생시킨 객체입니다.
반환값
Is External Url 조건이 충족되면 true이고, 그렇지 않으면 false입니다.

FamilyAlbumViewModel.cs 파일의 316 번째 라인에서 정의되었습니다.

316 =>
317 s.StartsWith("http://", StringComparison.OrdinalIgnoreCase) ||
318 s.StartsWith("https://", StringComparison.OrdinalIgnoreCase);

◆ LoadAsync()

async Task FamiliesApp.ViewModels.FamilyAlbumViewModel.LoadAsync ( string slug,
CancellationToken ct = default )
inline

Async 데이터를 불러옵니다.

매개변수
slugslug에 사용할 string 값입니다.
ct취소 요청을 감시하는 토큰입니다.
반환값
Load Async 작업에서 생성한 Task 결과입니다.

FamilyAlbumViewModel.cs 파일의 422 번째 라인에서 정의되었습니다.

423 {
424 Config = await _tenants.GetAsync(slug, ct).ConfigureAwait(false);
425 if (Config is null) { NotFound = true; IsLoaded = true; return; }
426
427 Albums = await _albums.GetAllAsync(slug, ct).ConfigureAwait(false);
428 await LoadPageAsync(slug, 1, ct).ConfigureAwait(false);
429 IsLoaded = true;
430 }

다음을 참조함 : _albums, _tenants, Albums, Config, IsLoaded, LoadPageAsync(), NotFound.

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ LoadPageAsync()

async Task FamiliesApp.ViewModels.FamilyAlbumViewModel.LoadPageAsync ( string slug,
int page,
CancellationToken ct = default )
inline

Page Async 데이터를 불러옵니다.

매개변수
slugslug에 사용할 string 값입니다.
pagepage에 사용할 int 값입니다.
ct취소 요청을 감시하는 토큰입니다.
반환값
Load Page Async 작업에서 생성한 Task 결과입니다.

FamilyAlbumViewModel.cs 파일의 472 번째 라인에서 정의되었습니다.

473 {
474 CurrentPage = page;
475 var (items, total) = await _posts.GetPageAsync(slug, page, PageSize, ct).ConfigureAwait(false);
476 Posts = items;
477 TotalCount = total;
478 }

다음을 참조함 : _posts, CurrentPage, PageSize, Posts, TotalCount.

다음에 의해서 참조됨 : LoadAsync().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ _albums

readonly IAlbumStore FamiliesApp.ViewModels.FamilyAlbumViewModel._albums
private

albums 값을 보관합니다.

FamilyAlbumViewModel.cs 파일의 42 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : FamilyAlbumViewModel(), LoadAsync().

◆ _media

readonly IMediaService FamiliesApp.ViewModels.FamilyAlbumViewModel._media
private

media 값을 보관합니다.

FamilyAlbumViewModel.cs 파일의 51 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : FamilyAlbumViewModel(), GetMediaUrl(), GetThumbUrl().

◆ _posts

readonly IPostStore FamiliesApp.ViewModels.FamilyAlbumViewModel._posts
private

posts 값을 보관합니다.

FamilyAlbumViewModel.cs 파일의 33 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : FamilyAlbumViewModel(), GetAlbumPageAsync(), GetAlbumPostsAsync(), LoadPageAsync().

◆ _tenants

readonly IFamilyTenantStore FamiliesApp.ViewModels.FamilyAlbumViewModel._tenants
private

tenants 값을 보관합니다.

FamilyAlbumViewModel.cs 파일의 24 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : FamilyAlbumViewModel(), LoadAsync().

속성 문서화

◆ Albums

IReadOnlyList<AlbumInfo> FamiliesApp.ViewModels.FamilyAlbumViewModel.Albums = []
getprivate set

Albums 값을 가져오거나 설정합니다.

FamilyAlbumViewModel.cs 파일의 138 번째 라인에서 정의되었습니다.

138{ get; private set; } = [];

다음에 의해서 참조됨 : LoadAsync().

◆ AllowComments

bool FamiliesApp.ViewModels.FamilyAlbumViewModel.AllowComments
get

Allow Comments 값을 가져옵니다.

FamilyAlbumViewModel.cs 파일의 229 번째 라인에서 정의되었습니다.

◆ AllowReactions

bool FamiliesApp.ViewModels.FamilyAlbumViewModel.AllowReactions
get

Allow Reactions 값을 가져옵니다.

FamilyAlbumViewModel.cs 파일의 220 번째 라인에서 정의되었습니다.

◆ Bio

string FamiliesApp.ViewModels.FamilyAlbumViewModel.Bio
get

Bio 값을 가져옵니다.

FamilyAlbumViewModel.cs 파일의 202 번째 라인에서 정의되었습니다.

◆ Config

FamilyConfig? FamiliesApp.ViewModels.FamilyAlbumViewModel.Config
getprivate set

Config 값을 가져오거나 설정합니다.

FamilyAlbumViewModel.cs 파일의 120 번째 라인에서 정의되었습니다.

120{ get; private set; }

다음에 의해서 참조됨 : GetMediaUrl(), GetThumbUrl(), LoadAsync().

◆ CoverImageUrl

string FamiliesApp.ViewModels.FamilyAlbumViewModel.CoverImageUrl
get

Cover Image Url 값을 가져옵니다.

FamilyAlbumViewModel.cs 파일의 239 번째 라인에서 정의되었습니다.

240 {
241 get
242 {
243 if (Config is null || string.IsNullOrWhiteSpace(Config.CoverImageFileName)) return "";
244 return _media.GetCoverUrl(Config.Slug, Config.CoverImageFileName);
245 }
246 }

◆ CurrentPage

int FamiliesApp.ViewModels.FamilyAlbumViewModel.CurrentPage = 1
getprivate set

Current Page 값을 가져오거나 설정합니다.

FamilyAlbumViewModel.cs 파일의 165 번째 라인에서 정의되었습니다.

165{ get; private set; } = 1;

다음에 의해서 참조됨 : LoadPageAsync().

◆ FamilyName

string FamiliesApp.ViewModels.FamilyAlbumViewModel.FamilyName
get

Family Name 값을 가져옵니다.

FamilyAlbumViewModel.cs 파일의 193 번째 라인에서 정의되었습니다.

◆ IsLoaded

bool FamiliesApp.ViewModels.FamilyAlbumViewModel.IsLoaded
getprivate set

Is Loaded 값을 가져오거나 설정합니다.

FamilyAlbumViewModel.cs 파일의 147 번째 라인에서 정의되었습니다.

147{ get; private set; }

다음에 의해서 참조됨 : LoadAsync().

◆ NotFound

bool FamiliesApp.ViewModels.FamilyAlbumViewModel.NotFound
getprivate set

Not Found 값을 가져오거나 설정합니다.

FamilyAlbumViewModel.cs 파일의 156 번째 라인에서 정의되었습니다.

156{ get; private set; }

다음에 의해서 참조됨 : LoadAsync().

◆ OgDescription

string FamiliesApp.ViewModels.FamilyAlbumViewModel.OgDescription
get

Og Description 값을 가져옵니다.

FamilyAlbumViewModel.cs 파일의 268 번째 라인에서 정의되었습니다.

◆ OgImageUrl

string FamiliesApp.ViewModels.FamilyAlbumViewModel.OgImageUrl
get

Og Image Url 값을 가져옵니다.

FamilyAlbumViewModel.cs 파일의 280 번째 라인에서 정의되었습니다.

281 {
282 get
283 {
284 if (Config is null) return "";
285 var fn = !string.IsNullOrWhiteSpace(Config.OgImageFileName)
286 ? Config.OgImageFileName
287 : Config.CoverImageFileName;
288 return string.IsNullOrWhiteSpace(fn) ? "" : _media.GetCoverUrl(Config.Slug, fn);
289 }
290 }

◆ OgTitle

string FamiliesApp.ViewModels.FamilyAlbumViewModel.OgTitle
get

Og Title 값을 가져옵니다.

FamilyAlbumViewModel.cs 파일의 256 번째 라인에서 정의되었습니다.

◆ PageSize

int FamiliesApp.ViewModels.FamilyAlbumViewModel.PageSize
get

Page Size 값을 가져옵니다.

FamilyAlbumViewModel.cs 파일의 110 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : GetAlbumPageAsync(), LoadPageAsync().

◆ Posts

IReadOnlyList<PostEntry> FamiliesApp.ViewModels.FamilyAlbumViewModel.Posts = []
getprivate set

Posts 값을 가져오거나 설정합니다.

FamilyAlbumViewModel.cs 파일의 129 번째 라인에서 정의되었습니다.

129{ get; private set; } = [];

다음에 의해서 참조됨 : LoadPageAsync().

◆ ThemeName

string FamiliesApp.ViewModels.FamilyAlbumViewModel.ThemeName
get

Theme Name 값을 가져옵니다.

FamilyAlbumViewModel.cs 파일의 211 번째 라인에서 정의되었습니다.

◆ TotalCount

int FamiliesApp.ViewModels.FamilyAlbumViewModel.TotalCount
getprivate set

Total Count 값을 가져오거나 설정합니다.

FamilyAlbumViewModel.cs 파일의 174 번째 라인에서 정의되었습니다.

174{ get; private set; }

다음에 의해서 참조됨 : GetAlbumPageAsync(), LoadPageAsync().

◆ TotalPages

int FamiliesApp.ViewModels.FamilyAlbumViewModel.TotalPages
get

Total Pages 값을 가져옵니다.

FamilyAlbumViewModel.cs 파일의 183 번째 라인에서 정의되었습니다.


이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: