コード例 #1
0
ファイル: Exporter.cs プロジェクト: q2een/InvEx
        private void RiseItemPublished(object sender, PublishedItem e)
        {
            e.Publisher = sender as Publisher;

            var temp = System.Threading.Volatile.Read(ref ItemPublished);

            ItemPublished?.Invoke(sender, e);

            exportRepository?.Add(e);
        }
コード例 #2
0
ファイル: Exporter.cs プロジェクト: q2een/InvEx
        public async Task <bool> RemovePublishedAsync(PublishedItem publishedItem)
        {
            if (!CanPublishSubjects)
            {
                throw new InvalidOperationException("The database of exported items is not available");
            }

            if (!await publishedItem.Publisher?.RemoveAsync(publishedItem))
            {
                return(false);
            }

            exportRepository?.RemoveAsync(publishedItem);

            await exportRepository?.SaveChangesAsync();

            return(true);
        }
コード例 #3
0
ファイル: Publisher.cs プロジェクト: q2een/InvEx
        protected virtual void OnItemPublished(PublishedItem e)
        {
            var temp = System.Threading.Volatile.Read(ref ItemPublished);

            ItemPublished?.Invoke(this, e);
        }
コード例 #4
0
ファイル: Publisher.cs プロジェクト: q2een/InvEx
 internal protected abstract Task <bool> RemoveAsync(PublishedItem publishedItem);