Ejemplo n.º 1
0
        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;
            }
        }