WeddingPlatform.Web 1.0.0.0
지도, 갤러리, 방명록, 계좌 안내와 배경음악을 링크 하나에 담는 무료 모바일 청첩장 서비스입니다.
로딩중...
검색중...
일치하는것 없음
WeddingPlatform.Models.InvitationDesignCatalog 클래스 참조

더 자세히 ...

정적 Public 멤버 함수

static WeddingLayoutOption GetLayout (WeddingLayoutMode mode)
static WeddingThemeOption GetTheme (string? key)
static void Normalize (TenantConfig config)
static WeddingLayoutMode ResolveLayoutMode (WeddingLayoutMode mode, string? legacyStyle)
static WeddingLayoutMode FromLegacyLayoutKey (string? key)
static string ToLegacyLayoutKey (WeddingLayoutMode mode)

속성

static IReadOnlyList< WeddingThemeOption > Themes [get]
static IReadOnlyList< WeddingLayoutOption > Layouts [get]

정적 Private 멤버 함수

static void SyncPlacementFromLegacy (TenantConfig config)
static void SyncLegacyFromPlacement (TenantConfig config)
static void NormalizePlacement (HeroPanelPlacement placement, string verticalFallback)
static string FirstNonBlank (string? preferred, string fallback)
static string NormalizeOption (string? value, string[] allowed, string fallback)

상세한 설명

Invitation Design Catalog 기능과 관련 상태를 캡슐화합니다.

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

멤버 함수 문서화

◆ FirstNonBlank()

string WeddingPlatform.Models.InvitationDesignCatalog.FirstNonBlank ( string? preferred,
string fallback )
inlinestaticprivate

First Non Blank 작업을 수행합니다.

매개변수
preferredpreferred에 사용할 string? 값입니다.
fallbackfallback에 사용할 string 값입니다.
반환값
First Non Blank 작업에서 생성한 string 결과입니다.

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

644 =>
645 string.IsNullOrWhiteSpace(preferred) ? fallback : preferred;

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

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

◆ FromLegacyLayoutKey()

WeddingLayoutMode WeddingPlatform.Models.InvitationDesignCatalog.FromLegacyLayoutKey ( string? key)
inlinestatic

From Legacy Layout Key 작업을 수행합니다.

매개변수
keykey에 사용할 string? 값입니다.
반환값
From Legacy Layout Key 작업에서 생성한 WeddingLayoutMode 결과입니다.

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

482 =>
483 WeddingLayoutCatalog.FromLegacyKey(key);

다음에 의해서 참조됨 : ResolveLayoutMode(), WeddingPlatform.ViewModels.WeddingAdminViewModel.ValidateLayoutForSave().

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

◆ GetLayout()

WeddingLayoutOption WeddingPlatform.Models.InvitationDesignCatalog.GetLayout ( WeddingLayoutMode mode)
inlinestatic

Layout 값을 가져옵니다.

매개변수
modemode에 사용할 WeddingLayoutMode 값입니다.
반환값
Get Layout 작업에서 생성한 WeddingLayoutOption 결과입니다.

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

338 =>
339 WeddingLayoutCatalog.Instance.Find(mode) ?? WeddingLayoutCatalog.Options[0];

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

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

◆ GetTheme()

WeddingThemeOption WeddingPlatform.Models.InvitationDesignCatalog.GetTheme ( string? key)
inlinestatic

Theme 값을 가져옵니다.

매개변수
keykey에 사용할 string? 값입니다.
반환값
Get Theme 작업에서 생성한 WeddingThemeOption 결과입니다.

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

365 =>
366 WeddingThemeCatalog.Instance.Find(key) ?? WeddingThemeCatalog.Options[0];

◆ Normalize()

void WeddingPlatform.Models.InvitationDesignCatalog.Normalize ( TenantConfig config)
inlinestatic

Normalize 작업을 수행합니다.

매개변수
configconfig에 사용할 TenantConfig 값입니다.

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

385 {
386 config.DesignSettings ??= new DesignSettings();
387 config.DesignSettings.HeroPlacement ??= new HeroPlacement();
388 config.DesignSettings.HeroPlacement.InviteTop ??= new HeroPanelPlacement();
389 config.DesignSettings.HeroPlacement.InviteBottom ??= new HeroPanelPlacement();
390 config.DesignSettings.HeroPlacement.ThankYou ??= new HeroPanelPlacement();
391 config.DesignSettings.MusicButtonPlacement ??= new WeddingFloatingPosition();
392 config.DesignSettings.StoryChapters = WeddingStoryChapterDefaults.Normalize(config.DesignSettings.StoryChapters);
393 config.UnlockedLayoutModes ??= new();
394 config.UnlockedThemeKeys ??= new();
395
396 var themeKey = !string.IsNullOrWhiteSpace(config.DesignSettings.ThemeKey)
397 ? config.DesignSettings.ThemeKey
398 : config.ThemeName;
399 config.DesignSettings.ThemeKey = WeddingThemeCatalog.NormalizeKey(themeKey);
400 config.ThemeName = config.DesignSettings.ThemeKey;
401
402 config.DesignSettings.LayoutMode = ResolveLayoutMode(config.DesignSettings.LayoutMode, config.InvitationStyle);
403 config.InvitationStyle = ToLegacyLayoutKey(config.DesignSettings.LayoutMode);
404 config.DesignSettings.SectionOrder = WeddingSectionOrderCatalog.NormalizeInvitationOrder(
405 config.DesignSettings.SectionOrder,
406 GetLayout(config.DesignSettings.LayoutMode).SupportedSections);
407 config.DesignSettings.SectionVisibility ??= new Dictionary<string, bool>();
408
409 SyncPlacementFromLegacy(config);
410 NormalizePlacement(config.DesignSettings.HeroPlacement.InviteTop, "top");
411 NormalizePlacement(config.DesignSettings.HeroPlacement.InviteBottom, "bottom");
412 NormalizePlacement(config.DesignSettings.HeroPlacement.ThankYou, "top");
413 SyncLegacyFromPlacement(config);
414 }

다음을 참조함 : WeddingPlatform.Models.TenantConfig.DesignSettings, GetLayout(), WeddingPlatform.Models.DesignSettings.HeroPlacement, WeddingPlatform.Models.TenantConfig.InvitationStyle, WeddingPlatform.Models.HeroPlacement.InviteBottom, WeddingPlatform.Models.HeroPlacement.InviteTop, WeddingPlatform.Models.DesignSettings.LayoutMode, NormalizePlacement(), ResolveLayoutMode(), WeddingPlatform.Models.DesignSettings.SectionOrder, WeddingPlatform.Models.DesignSettings.StoryChapters, SyncLegacyFromPlacement(), SyncPlacementFromLegacy(), WeddingPlatform.Models.HeroPlacement.ThankYou, WeddingPlatform.Models.DesignSettings.ThemeKey, WeddingPlatform.Models.TenantConfig.ThemeName, ToLegacyLayoutKey().

다음에 의해서 참조됨 : WeddingPlatform.ViewModels.WeddingAdminViewModel.AddStoryChapterAsync(), WeddingPlatform.ViewModels.WeddingAdminViewModel.DeleteStoryChapterAsync(), WeddingPlatform.ViewModels.WeddingAdminViewModel.LoadAsync(), WeddingPlatform.ViewModels.WeddingInvitationViewModel.LoadAsync(), WeddingPlatform.ViewModels.WeddingAdminViewModel.NormalizeHeroPanelPosition(), WeddingPlatform.ViewModels.WeddingSuperAdminViewModel.ReloadTenantsAsync(), WeddingPlatform.ViewModels.WeddingAdminViewModel.SaveConfigAsync(), WeddingPlatform.ViewModels.WeddingAdminViewModel.SaveStoryChapterAsync().

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

◆ NormalizeOption()

string WeddingPlatform.Models.InvitationDesignCatalog.NormalizeOption ( string? value,
string[] allowed,
string fallback )
inlinestaticprivate

Normalize Option 작업을 수행합니다.

매개변수
value적용할 값입니다.
allowedallowed에 사용할 string[] 값입니다.
fallbackfallback에 사용할 string 값입니다.
반환값
Normalize Option 작업에서 생성한 string 결과입니다.

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

688 {
689 var normalized = value?.Trim().ToLowerInvariant();
690 return !string.IsNullOrWhiteSpace(normalized) && allowed.Contains(normalized) ? normalized : fallback;
691 }

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

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

◆ NormalizePlacement()

void WeddingPlatform.Models.InvitationDesignCatalog.NormalizePlacement ( HeroPanelPlacement placement,
string verticalFallback )
inlinestaticprivate

Normalize Placement 작업을 수행합니다.

매개변수
placementplacement에 사용할 HeroPanelPlacement 값입니다.
verticalFallbackvertical Fallback에 사용할 string 값입니다.

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

605 {
606 placement.DesktopVertical = NormalizeOption(placement.DesktopVertical, ["top", "middle", "bottom"], verticalFallback);
607 placement.DesktopHorizontal = NormalizeOption(placement.DesktopHorizontal, ["left", "center", "right"], "center");
608 placement.MobileVertical = NormalizeOption(placement.MobileVertical, ["top", "middle", "bottom"], verticalFallback);
609 placement.MobileHorizontal = NormalizeOption(placement.MobileHorizontal, ["left", "center", "right"], "center");
610 }

다음을 참조함 : WeddingPlatform.Models.HeroPanelPlacement.DesktopHorizontal, WeddingPlatform.Models.HeroPanelPlacement.DesktopVertical, WeddingPlatform.Models.HeroPanelPlacement.MobileHorizontal, WeddingPlatform.Models.HeroPanelPlacement.MobileVertical, NormalizeOption().

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

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

◆ ResolveLayoutMode()

WeddingLayoutMode WeddingPlatform.Models.InvitationDesignCatalog.ResolveLayoutMode ( WeddingLayoutMode mode,
string? legacyStyle )
inlinestatic

Resolve Layout Mode 작업을 수행합니다.

매개변수
modemode에 사용할 WeddingLayoutMode 값입니다.
legacyStylelegacy Style에 사용할 string? 값입니다.
반환값
Resolve Layout Mode 작업에서 생성한 WeddingLayoutMode 결과입니다.

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

449 {
450 if (mode != WeddingLayoutMode.Unknown && WeddingLayoutCatalog.Instance.Exists(mode))
451 {
452 return mode;
453 }
454
455 return FromLegacyLayoutKey(legacyStyle);
456 }

다음을 참조함 : FromLegacyLayoutKey().

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

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

◆ SyncLegacyFromPlacement()

void WeddingPlatform.Models.InvitationDesignCatalog.SyncLegacyFromPlacement ( TenantConfig config)
inlinestaticprivate

Sync Legacy From Placement 작업을 수행합니다.

매개변수
configconfig에 사용할 TenantConfig 값입니다.

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

564 {
565 var placement = config.DesignSettings.HeroPlacement;
566 config.InviteHeroTopVerticalDesktop = placement.InviteTop.DesktopVertical;
567 config.InviteHeroTopHorizontalDesktop = placement.InviteTop.DesktopHorizontal;
568 config.InviteHeroTopVerticalMobile = placement.InviteTop.MobileVertical;
569 config.InviteHeroTopHorizontalMobile = placement.InviteTop.MobileHorizontal;
570 config.InviteHeroBottomVerticalDesktop = placement.InviteBottom.DesktopVertical;
571 config.InviteHeroBottomHorizontalDesktop = placement.InviteBottom.DesktopHorizontal;
572 config.InviteHeroBottomVerticalMobile = placement.InviteBottom.MobileVertical;
573 config.InviteHeroBottomHorizontalMobile = placement.InviteBottom.MobileHorizontal;
574 config.HeroPanelVerticalDesktop = placement.ThankYou.DesktopVertical;
575 config.HeroPanelHorizontalDesktop = placement.ThankYou.DesktopHorizontal;
576 config.HeroPanelVerticalMobile = placement.ThankYou.MobileVertical;
577 config.HeroPanelHorizontalMobile = placement.ThankYou.MobileHorizontal;
578 }

다음을 참조함 : WeddingPlatform.Models.TenantConfig.DesignSettings, WeddingPlatform.Models.HeroPanelPlacement.DesktopVertical, WeddingPlatform.Models.DesignSettings.HeroPlacement, WeddingPlatform.Models.HeroPlacement.InviteTop.

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

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

◆ SyncPlacementFromLegacy()

void WeddingPlatform.Models.InvitationDesignCatalog.SyncPlacementFromLegacy ( TenantConfig config)
inlinestaticprivate

Sync Placement From Legacy 작업을 수행합니다.

매개변수
configconfig에 사용할 TenantConfig 값입니다.

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

529 {
530 var placement = config.DesignSettings.HeroPlacement;
531 placement.InviteTop.DesktopVertical = FirstNonBlank(placement.InviteTop.DesktopVertical, config.InviteHeroTopVerticalDesktop);
532 placement.InviteTop.DesktopHorizontal = FirstNonBlank(placement.InviteTop.DesktopHorizontal, config.InviteHeroTopHorizontalDesktop);
533 placement.InviteTop.MobileVertical = FirstNonBlank(placement.InviteTop.MobileVertical, config.InviteHeroTopVerticalMobile);
534 placement.InviteTop.MobileHorizontal = FirstNonBlank(placement.InviteTop.MobileHorizontal, config.InviteHeroTopHorizontalMobile);
535
536 placement.InviteBottom.DesktopVertical = FirstNonBlank(placement.InviteBottom.DesktopVertical, config.InviteHeroBottomVerticalDesktop);
537 placement.InviteBottom.DesktopHorizontal = FirstNonBlank(placement.InviteBottom.DesktopHorizontal, config.InviteHeroBottomHorizontalDesktop);
538 placement.InviteBottom.MobileVertical = FirstNonBlank(placement.InviteBottom.MobileVertical, config.InviteHeroBottomVerticalMobile);
539 placement.InviteBottom.MobileHorizontal = FirstNonBlank(placement.InviteBottom.MobileHorizontal, config.InviteHeroBottomHorizontalMobile);
540
541 placement.ThankYou.DesktopVertical = FirstNonBlank(placement.ThankYou.DesktopVertical, config.HeroPanelVerticalDesktop);
542 placement.ThankYou.DesktopHorizontal = FirstNonBlank(placement.ThankYou.DesktopHorizontal, config.HeroPanelHorizontalDesktop);
543 placement.ThankYou.MobileVertical = FirstNonBlank(placement.ThankYou.MobileVertical, config.HeroPanelVerticalMobile);
544 placement.ThankYou.MobileHorizontal = FirstNonBlank(placement.ThankYou.MobileHorizontal, config.HeroPanelHorizontalMobile);
545 }

다음을 참조함 : WeddingPlatform.Models.TenantConfig.DesignSettings, FirstNonBlank(), WeddingPlatform.Models.TenantConfig.HeroPanelHorizontalDesktop, WeddingPlatform.Models.TenantConfig.HeroPanelHorizontalMobile, WeddingPlatform.Models.TenantConfig.HeroPanelVerticalDesktop, WeddingPlatform.Models.TenantConfig.HeroPanelVerticalMobile, WeddingPlatform.Models.DesignSettings.HeroPlacement, WeddingPlatform.Models.TenantConfig.InviteHeroBottomHorizontalDesktop, WeddingPlatform.Models.TenantConfig.InviteHeroBottomHorizontalMobile, WeddingPlatform.Models.TenantConfig.InviteHeroBottomVerticalDesktop, WeddingPlatform.Models.TenantConfig.InviteHeroBottomVerticalMobile, WeddingPlatform.Models.TenantConfig.InviteHeroTopHorizontalDesktop, WeddingPlatform.Models.TenantConfig.InviteHeroTopHorizontalMobile, WeddingPlatform.Models.TenantConfig.InviteHeroTopVerticalDesktop, WeddingPlatform.Models.TenantConfig.InviteHeroTopVerticalMobile.

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

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

◆ ToLegacyLayoutKey()

string WeddingPlatform.Models.InvitationDesignCatalog.ToLegacyLayoutKey ( WeddingLayoutMode mode)
inlinestatic

To Legacy Layout Key 작업을 수행합니다.

매개변수
modemode에 사용할 WeddingLayoutMode 값입니다.
반환값
To Legacy Layout Key 작업에서 생성한 string 결과입니다.

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

509 =>
510 WeddingLayoutCatalog.ToLegacyKey(mode);

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

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

속성 문서화

◆ Layouts

IReadOnlyList<WeddingLayoutOption> WeddingPlatform.Models.InvitationDesignCatalog.Layouts
staticget

Layouts 값을 가져옵니다.

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

◆ Themes

IReadOnlyList<WeddingThemeOption> WeddingPlatform.Models.InvitationDesignCatalog.Themes
staticget

Themes 값을 가져옵니다.

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


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