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; } }
private async Task DeleteResourceAsync(GeneralResourceViewModel resource) { try { await TrackService.DeleteTrackResourceAsync(resource.Id); resource.CreateMode = true; resource.Edit = false; resource.Form.Model.Name = null; } catch (TokenUnavailableException) { await(OpenidConnectPkce as TenantOpenidConnectPkce).TenantLoginAsync(); } catch (Exception ex) { resource.Form.SetError(ex.Message); } }
private async Task OnEditResourceValidSubmitAsync(GeneralResourceViewModel resource, EditContext editContext) { try { await TrackService.UpdateTrackResourceAsync(resource.Form.Model.Map <TrackResourceItem>()); resource.CreateMode = false; resource.Edit = false; } catch (FoxIDsApiException ex) { if (ex.StatusCode == System.Net.HttpStatusCode.Conflict) { resource.Form.SetFieldError(nameof(resource.Form.Model.Items), ex.Message); } else { throw; } } }
private void ResourceCancel(GeneralResourceViewModel resource) { resource.Edit = false; }