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

더 자세히 ...

WeddingPlatform.ViewModels.WeddingGuestbookViewModel에 대한 협력 다이어그램:

Public 멤버 함수

 WeddingGuestbookViewModel (IGuestbookStorage storage)
void ApplyDefaultMessage ()
async Task InitializeAsync (string slug, CancellationToken ct=default)
async Task AddEntryAsync (string slug, CancellationToken ct=default)
async Task ReloadAsync (string slug, CancellationToken ct=default)

속성

string Name = "" [get, set]
string Contact = "" [get, set]
string Message = "" [get, set]
string LastStatus = "" [get, private set]
bool IsSaving [get, private set]
IReadOnlyList< GuestbookEntryViewEntriesView [get]

Private 속성

readonly IGuestbookStorage _storage
List< GuestbookEntry_entries = new()

정적 Private 속성

static readonly string[] DefaultMessages

상세한 설명

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

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

생성자 & 소멸자 문서화

◆ WeddingGuestbookViewModel()

WeddingPlatform.ViewModels.WeddingGuestbookViewModel.WeddingGuestbookViewModel ( IGuestbookStorage storage)
inline

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

매개변수
storagestorage에 사용할 IGuestbookStorage 값입니다.

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

51=> _storage = storage;

다음을 참조함 : _storage.

멤버 함수 문서화

◆ AddEntryAsync()

async Task WeddingPlatform.ViewModels.WeddingGuestbookViewModel.AddEntryAsync ( string slug,
CancellationToken ct = default )
inline

Entry Async 항목을 추가합니다.

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

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

219 {
220 if (IsSaving) return;
221 if (string.IsNullOrWhiteSpace(Name)) { LastStatus = "이름을 입력해주세요."; return; }
222 if (string.IsNullOrWhiteSpace(Message)) { LastStatus = "메시지를 입력해주세요."; return; }
223
224 var entry = new GuestbookEntry
225 {
226 Name = Name.Trim(),
227 Contact = Contact.Trim(),
228 Message = Message.Trim(),
229 CreatedLocal = DateTime.Now
230 };
231
232 IsSaving = true;
233 try
234 {
235 var updated = new List<GuestbookEntry> { entry };
236 updated.AddRange(_entries);
237 await _storage.SaveAsync(slug, updated, ct).ConfigureAwait(false);
238 _entries = updated;
239 Name = ""; Contact = ""; Message = "";
240 LastStatus = "저장되었습니다. 감사합니다 🙏";
241 }
242 catch { LastStatus = "저장 중 오류가 발생했어요."; }
243 finally { IsSaving = false; }
244 }

다음을 참조함 : _entries, _storage, Contact, IsSaving, LastStatus, Message, Name.

◆ ApplyDefaultMessage()

void WeddingPlatform.ViewModels.WeddingGuestbookViewModel.ApplyDefaultMessage ( )
inline

Apply Default Message 작업을 수행합니다.

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

107 {
108 if (string.IsNullOrEmpty(Message))
109 Message = DefaultMessages[Random.Shared.Next(DefaultMessages.Length)];
110 }

다음을 참조함 : DefaultMessages, Message.

◆ InitializeAsync()

async Task WeddingPlatform.ViewModels.WeddingGuestbookViewModel.InitializeAsync ( string slug,
CancellationToken ct = default )
inline

Initialize Async 작업을 수행합니다.

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

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

176 {
177 try
178 {
179 var list = await _storage.LoadAsync(slug, ct).ConfigureAwait(false);
180 _entries = list.ToList();
181 LastStatus = "";
182 }
183 catch { LastStatus = "방명록 데이터를 불러오는 중 오류가 발생했어요."; }
184 }

다음을 참조함 : _entries, _storage, LastStatus.

◆ ReloadAsync()

async Task WeddingPlatform.ViewModels.WeddingGuestbookViewModel.ReloadAsync ( string slug,
CancellationToken ct = default )
inline

Reload Async 작업을 수행합니다.

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

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

279 {
280 try
281 {
282 var list = await _storage.LoadAsync(slug, ct).ConfigureAwait(false);
283 _entries = list.ToList();
284 LastStatus = "새로고침 완료";
285 }
286 catch { LastStatus = "새로고침 중 오류가 발생했어요."; }
287 }

다음을 참조함 : _entries, _storage, LastStatus.

멤버 데이터 문서화

◆ _entries

List<GuestbookEntry> WeddingPlatform.ViewModels.WeddingGuestbookViewModel._entries = new()
private

entries 값을 보관합니다.

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

다음에 의해서 참조됨 : AddEntryAsync(), InitializeAsync(), ReloadAsync().

◆ _storage

readonly IGuestbookStorage WeddingPlatform.ViewModels.WeddingGuestbookViewModel._storage
private

storage 값을 보관합니다.

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

다음에 의해서 참조됨 : AddEntryAsync(), InitializeAsync(), ReloadAsync(), WeddingGuestbookViewModel().

◆ DefaultMessages

readonly string [] WeddingPlatform.ViewModels.WeddingGuestbookViewModel.DefaultMessages
staticprivate
초기값:
=
[
"💖 두 분의 앞날에 사랑과 행복이 가득하시길 바랍니다 ✨",
"🎉 결혼을 진심으로 축하드립니다! 영원히 함께하세요 💍",
"🌸 오늘의 약속이 평생의 기쁨으로 이어지길 바랍니다 💕",
"🕊️ 늘 서로를 아끼고 존중하며 행복한 가정을 꾸리시길 🙏",
"🌈 두 분의 미래가 언제나 밝고 빛나길 바랍니다 ✨"
]

Default Messages 값을 보관합니다.

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

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

속성 문서화

◆ Contact

string WeddingPlatform.ViewModels.WeddingGuestbookViewModel.Contact = ""
getset

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

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

70{ get; set; } = "";

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

◆ EntriesView

IReadOnlyList<GuestbookEntryView> WeddingPlatform.ViewModels.WeddingGuestbookViewModel.EntriesView
get

Entries View 값을 가져옵니다.

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

◆ IsSaving

bool WeddingPlatform.ViewModels.WeddingGuestbookViewModel.IsSaving
getprivate set

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

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

128{ get; private set; }

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

◆ LastStatus

string WeddingPlatform.ViewModels.WeddingGuestbookViewModel.LastStatus = ""
getprivate set

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

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

119{ get; private set; } = "";

다음에 의해서 참조됨 : AddEntryAsync(), InitializeAsync(), ReloadAsync().

◆ Message

string WeddingPlatform.ViewModels.WeddingGuestbookViewModel.Message = ""
getset

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

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

79{ get; set; } = "";

다음에 의해서 참조됨 : AddEntryAsync(), ApplyDefaultMessage().

◆ Name

string WeddingPlatform.ViewModels.WeddingGuestbookViewModel.Name = ""
getset

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

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

61{ get; set; } = "";

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


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