private async Task ShowUpdateResourceAsync(GeneralResourceViewModel resource) { resource.DeleteAcknowledge = false; resource.ShowAdvanced = false; resource.Error = null; resource.Edit = true; try { var resourceItem = await TrackService.GetTrackResourceAsync(resource.Id); if (resourceItem == null) { resource.CreateMode = true; await resource.Form.InitAsync(new ResourceItemViewModel { Name = resource.Name, Id = resource.Id }); } else { resource.CreateMode = false; await resource.Form.InitAsync(resourceItem.Map <ResourceItemViewModel>(), afterInit : afterInit => { afterInit.Name = resource.Name; }); } } catch (TokenUnavailableException) { await(OpenidConnectPkce as TenantOpenidConnectPkce).TenantLoginAsync(); } catch (HttpRequestException ex) { resource.Error = ex.Message; } }