protected override async Task OnAfterRenderAsync(bool firstRender) { if (_loaded) { return; } _loaded = true; _creating = NavigationManager.ToBaseRelativePath(NavigationManager.Uri).ToLowerInvariant(). StartsWith("admin/document_people/create", StringComparison.InvariantCulture); if (Id <= 0 && !_creating) { return; } _people = await PeopleService.GetAsync(); _model = _creating ? new DocumentPersonViewModel() : await Service.GetAsync(Id); _authState = await AuthenticationStateProvider.GetAuthenticationStateAsync(); _editing = _creating || NavigationManager.ToBaseRelativePath(NavigationManager.Uri).ToLowerInvariant(). StartsWith("admin/document_people/edit/", StringComparison.InvariantCulture); if (_editing) { SetCheckboxes(); } StateHasChanged(); }
async void OnCancelClicked() { _editing = false; if (_creating) { NavigationManager.ToBaseRelativePath("admin/document_people"); return; } _model = await Service.GetAsync(Id); SetCheckboxes(); StateHasChanged(); }
async void OnSaveClicked() { if (_unknownAlias) { _model.Alias = null; } else if (string.IsNullOrWhiteSpace(_model.Alias)) { return; } if (_noLinkedPerson) { _model.PersonId = null; } else if (_model.PersonId < 0) { return; } if (_unknownAlias) { _model.Alias = null; } else if (string.IsNullOrWhiteSpace(_model.Alias)) { return; } if (_unknownDisplayName) { _model.Alias = null; } else if (string.IsNullOrWhiteSpace(_model.Alias)) { return; } if (_unknownName) { _model.Name = null; } else if (string.IsNullOrWhiteSpace(_model.Name)) { return; } if (_unknownSurname) { _model.Surname = null; } else if (string.IsNullOrWhiteSpace(_model.Surname)) { return; } if ((_unknownName && !_unknownSurname) || (!_unknownName && _unknownSurname)) { return; } // TODO: Show error here if (_unknownName && _unknownSurname && _unknownAlias && _unknownDisplayName) { return; } if (_creating) { Id = await Service.CreateAsync(_model, (await UserManager.GetUserAsync(_authState.User)).Id); } else { await Service.UpdateAsync(_model, (await UserManager.GetUserAsync(_authState.User)).Id); } _editing = false; _creating = false; _model = await Service.GetAsync(Id); SetCheckboxes(); StateHasChanged(); }
void ModalClosing(ModalClosingEventArgs obj) => _person = null;
void ShowModal(int itemId) { _person = _people.FirstOrDefault(n => n.Id == itemId); _frmDelete.Show(); }