Esempio n. 1
0
        protected virtual async Task GetAllResourcesAsync()
        {
            _resources = Array.Empty <LocalizedResource>();

            CurrentCulture = CultureInfo.CurrentCulture;
            var parent = CurrentCulture.Parent;
            var filter = $"{nameof(LocalizedResource.CultureId)} eq '{CurrentCulture.Name}'";

            if (!string.IsNullOrWhiteSpace(parent?.Name))
            {
                filter += $" or {nameof(LocalizedResource.CultureId)} eq '{parent.Name}'";
            }

            var page = await _store.GetAsync(new PageRequest
            {
                Filter  = filter,
                OrderBy = nameof(LocalizedResource.CultureId)
            }).ConfigureAwait(false);

            _resources = page.Items;
            foreach (var resource in _resources)
            {
                KeyValuePairs[resource.Key] = new LocalizedString(resource.Key, resource.Value ?? resource.Key, resource.Value == null);
            }

            ResourceReady?.Invoke();
        }
Esempio n. 2
0
        private void OnAsyncThread()
        {
            while (asyncThread != null)
            {
                asyncThreadEvent.WaitOne();

                while (true)
                {
                    string path;
                    lock (metadataAsyncRequests) {
                        path = metadataAsyncRequests.FirstOrDefault();
                    }

                    if (path == null)
                    {
                        break;
                    }

                    Metadata metadata = RequestMetadataInner(path, true);

                    lock (metadataAsyncRequests) {
                        metadataAsyncRequests.Remove(path);
                    }

                    asyncResourceReadyEvent.Set();

                    ResourceReady?.Invoke(path);
                }
            }
        }