Esempio n. 1
0
        private async Task RequestSubjectExportAsync(Expression <Func <Subject, bool> > predicate, bool refresh, bool isUpdateExportTypesOnly)
        {
            currentSubject = await exporter.QuerySubjectAsync(predicate, refresh);

            var publishedData  = currentSubject?.PublishedItems.Select(pi => GetPublishedItemInfo(pi));
            var availableTypes = currentSubject?.AvailableExportTypes.ToDictionary(k => publishersInfo[k.Key], v => v.Value);

            view.ShowAvailableToPublish(availableTypes);
            view.ShowPublishedItems(publishedData);

            if (!isUpdateExportTypesOnly)
            {
                view.ShowSubject(currentSubject?.Subject);
                view.ShowSubjectPhotos(currentSubject?.SubjectPhotos);
            }

            PublishedItemInfo GetPublishedItemInfo(PublishedItem publishedItem)
            {
                var           publisher     = publishedItem.Publisher;
                PublisherInfo publisherInfo = null;

                if (publisher != null && publishersInfo.ContainsKey(publisher))
                {
                    publisherInfo = publishersInfo[publisher];
                }
                else
                {
                    publisherInfo = new PublisherInfo(GetPublisherName(publishedItem.PublisherType));
                }

                return(new PublishedItemInfo(publishedItem, publisherInfo));
            }
        }
Esempio n. 2
0
        private void RegisterPublishers(params Publisher[] publishers)
        {
            foreach (var publisher in publishers)
            {
                exporter.AddPublisher(publisher);

                var publisherInfo = new PublisherInfo(publisher, GetPublisherName(publisher.GetType()));
                publishersInfo.Add(publisher, publisherInfo);
            }
        }
Esempio n. 3
0
 public PublishedItemInfo(PublishedItem publishedItem, PublisherInfo publisherData)
 {
     PublishedItem = publishedItem;
     PublisherData = publisherData;
 }
Esempio n. 4
0
 private async void View_SignOutClick(object sender, PublisherInfo e)
 {
     await(e?.Publisher as IAuthorizable)?.LogOutAsync();
 }