public TridentViewDispatcher(IWebBrowserFactory browserFactory, ISubscriptionProvider subscriptionProvider, IDictionary<Tuple<TargetAddressType, BrowserTab.TabType>, BrowserTabState> states)
            : base(browserFactory, subscriptionProvider)
        {
            ArgumentUtility.CheckNotNull ("states", states);

              _states = states;
        }
        protected ViewDispatcherBase(IWebBrowserFactory browserFactory, ISubscriptionProvider subscriptionProvider)
        {
            ArgumentUtility.CheckNotNull ("browserFactory", browserFactory);
              ArgumentUtility.CheckNotNull ("subscriptionProvider", subscriptionProvider);

              _browserFactory = browserFactory;
              _subscriptionProvider = subscriptionProvider;
        }
        public TopSubscriptionProvider(IRecipientProvider recipientProvider, ISubscriptionProvider directSubscriptionProvider)
        {
            if (recipientProvider == null) throw new ArgumentNullException("recipientProvider");
            if (directSubscriptionProvider == null) throw new ArgumentNullException("directSubscriptionProvider");

            this.recipientProvider = recipientProvider;
            subscriptionProvider = directSubscriptionProvider;
        }
Esempio n. 4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SubscriptionsFacade" /> class.
 /// </summary>
 /// <param name="data">The subscription data service.</param>
 /// <param name="subscriptionProvider">The subscription provider.</param>
 /// <param name="cardProvider">The card provider.</param>
 /// <param name="cardDataService">The card data service.</param>
 /// <param name="customerProvider">The customer provider.</param>
 /// <param name="subscriptionPlanDataService">The subscription plan data service.</param>
 /// <param name="chargeProvider">The charge provider.</param>
 public SubscriptionsFacade(
     ISubscriptionDataService data,
     ISubscriptionProvider subscriptionProvider,
     ICardProvider cardProvider,
     ICardDataService cardDataService,
     ICustomerProvider customerProvider,
     ISubscriptionPlanDataService subscriptionPlanDataService,
     IChargeProvider chargeProvider)
 {
     _subscriptionDataService = data;
     _subscriptionProvider = subscriptionProvider;
     _cardProvider = cardProvider;
     _customerProvider = customerProvider;
     _subscriptionPlanDataService = subscriptionPlanDataService;
     _chargeProvider = chargeProvider;
     _cardDataService = cardDataService;
 }
        public TridentWebBrowserFactory(
            IHtmlDocumentHandleRegistry htmlDocumentHandleRegistry,
            ISubscriptionProvider subscriptionProvider,
            IUrlFilter nonApplicationUrlFilter,
            IUrlFilter entryPointFilter,
            IUrlFilter applicationUrlFilter)
        {
            ArgumentUtility.CheckNotNull ("htmlDocumentHandleRegistry", htmlDocumentHandleRegistry);
              ArgumentUtility.CheckNotNull ("subscriptionProvider", subscriptionProvider);
              ArgumentUtility.CheckNotNull ("nonApplicationUrlFilter", nonApplicationUrlFilter);
              ArgumentUtility.CheckNotNull ("entryPointFilter", entryPointFilter);
              ArgumentUtility.CheckNotNull ("applicationUrlFilter", applicationUrlFilter);

              NonApplicationUrlFilter = nonApplicationUrlFilter;
              EntryPointFilter = entryPointFilter;
              ApplicationUrlFilter = applicationUrlFilter;

              SubscriptionProvider = subscriptionProvider;
              HtmlDocumentHandleRegistry = htmlDocumentHandleRegistry;
        }
Esempio n. 6
0
 /// <summary>
 /// To create a rule for the event of <see cref="ISubscriptionProvider.MarketDepthReceived"/>.
 /// </summary>
 /// <param name="subscription">Subscription.</param>
 /// <param name="provider">Subscription provider.</param>
 /// <returns>Rule.</returns>
 public static MarketRule <Subscription, MarketDepth> MarketDepthReceived(this Subscription subscription, ISubscriptionProvider provider)
 {
     return(new MarketDepthReceivedRule(subscription, provider));
 }
Esempio n. 7
0
 /// <summary>
 /// To create a rule for the event of <see cref="ISubscriptionProvider.NewsReceived"/>.
 /// </summary>
 /// <param name="subscription">Subscription.</param>
 /// <param name="provider">Subscription provider.</param>
 /// <returns>Rule.</returns>
 public static MarketRule <Subscription, News> WhenNewsReceived(this Subscription subscription, ISubscriptionProvider provider)
 {
     return(new NewsReceivedRule(subscription, provider));
 }
Esempio n. 8
0
 public NewsReceivedRule(Subscription subscription, ISubscriptionProvider provider)
     : base(subscription, provider)
 {
     Name = $"{subscription.TransactionId}/{subscription.DataType} {nameof(ISubscriptionProvider.NewsReceived)}";
     Provider.NewsReceived += ProviderOnNewsReceived;
 }
 public TopSubscriptionProvider(IRecipientProvider recipientProvider, ISubscriptionProvider directSubscriptionProvider)
 {
     this.recipientProvider = recipientProvider ?? throw new ArgumentNullException("recipientProvider");
     subscriptionProvider   = directSubscriptionProvider ?? throw new ArgumentNullException("directSubscriptionProvider");
 }
Esempio n. 10
0
        protected void LazyInitializeProviders()
        {
            if (!initialized)
            {
                lock (syncRoot)
                {
                    if (!initialized)
                    {
                        RecipientsProvider = CreateRecipientsProvider();
                        if (RecipientsProvider == null)
                        {
                            throw new NotifyException(String.Format("Provider {0} not instanced.", "IRecipientsProvider"));
                        }

                        SubscriprionProvider = CreateSubscriptionProvider();
                        if (SubscriprionProvider == null)
                        {
                            throw new NotifyException(String.Format("Provider {0} not instanced.", "ISubscriprionProvider"));
                        }

                        initialized = true;
                    }
                }
            }
        }
Esempio n. 11
0
 private void RemoveSubscribedAddIns (ISubscriptionProvider subscriptionProvider, HtmlDocumentHandle handle)
 {
   foreach (var subscriber in subscriptionProvider.GetSubscribers<IBrowserEventSubscriber> (handle))
     Unsubscribe (subscriber);
 }
Esempio n. 12
0
 /// <summary>
 /// To create a rule for the event of <see cref="ISubscriptionProvider.SubscriptionFailed"/>.
 /// </summary>
 /// <param name="subscription">Subscription.</param>
 /// <param name="provider">Subscription provider.</param>
 /// <returns>Rule.</returns>
 public static MarketRule <Subscription, Tuple <Subscription, Exception, bool> > WhenSubscriptionFailed(this Subscription subscription, ISubscriptionProvider provider)
 {
     return(new SubscriptionFailedRule(subscription, provider));
 }
Esempio n. 13
0
 /// <summary>
 /// To create a rule for the event of <see cref="ISubscriptionProvider.OrderBookReceived"/>.
 /// </summary>
 /// <param name="subscription">Subscription.</param>
 /// <param name="provider">Subscription provider.</param>
 /// <returns>Rule.</returns>
 public static MarketRule <Subscription, QuoteChangeMessage> WhenOrderBookReceived(this Subscription subscription, ISubscriptionProvider provider)
 {
     return(new OrderBookReceivedRule(subscription, provider));
 }
Esempio n. 14
0
 protected SubscriptionRule(Subscription subscription, ISubscriptionProvider provider)
     : base(subscription)
 {
     Provider     = provider;
     Subscription = subscription ?? throw new ArgumentNullException(nameof(subscription));
 }
 public virtual bool CanMerge(ISubscriptionProvider <IProjection, IProjectionSchema> other)
 {
     return(other is MultiEventSubscriptionProvider || other is SingleEventSubscriptionProvider);
 }
Esempio n. 16
0
 public TopSubscriptionProvider(IRecipientProvider recipientProvider, ISubscriptionProvider directSubscriptionProvider, string[] defaultSenderMethods)
     : this(recipientProvider, directSubscriptionProvider)
 {
     this.defaultSenderMethods = defaultSenderMethods;
 }
 public ISubscriptionProvider <IProjectionEventStream, IProjectionSchema> Merge(ISubscriptionProvider <IProjectionEventStream, IProjectionSchema> other)
 {
     if (other is ProjectionMultiEventStreamSubscriptionProvider multiProvider)
     {
         return(other.Merge(this));
     }
     else
     {
         return(new ProjectionMultiEventStreamSubscriptionProvider(_eventStore, _eventConverter, _repo, Stream, _schema)
                .Merge(this)
                .Merge(other));
     }
 }
 public bool CanMerge(ISubscriptionProvider <IProjectionEventStream, IProjectionSchema> other)
 {
     return(other is ProjectionMultiEventStreamSubscriptionProvider || other is SingleEventStreamSubscriptionProvider);
 }
Esempio n. 19
0
 /// <summary>
 /// To create a rule for the event of <see cref="ISubscriptionProvider.Level1Received"/>.
 /// </summary>
 /// <param name="subscription">Subscription.</param>
 /// <param name="provider">Subscription provider.</param>
 /// <returns>Rule.</returns>
 public static MarketRule <Subscription, Level1ChangeMessage> WhenLevel1Received(this Subscription subscription, ISubscriptionProvider provider)
 {
     return(new Level1ReceivedRule(subscription, provider));
 }
Esempio n. 20
0
 public SubscriptionStartedRule(Subscription subscription, ISubscriptionProvider provider)
     : base(subscription, provider)
 {
     Name = $"{subscription.TransactionId}/{subscription.DataType} {nameof(ISubscriptionProvider.SubscriptionStarted)}";
     Provider.SubscriptionStarted += ProviderOnSubscriptionStarted;
 }
Esempio n. 21
0
    public TridentWebBrowser (
        IHtmlDocumentHandleRegistry documentHandleRegistry,
        ISubscriptionProvider subscriptionProvider,
        IUrlFilter nonApplicationUrlFilter,
        IUrlFilter entryPointFilter,
        IUrlFilter applicationUrlFilter)
    {
      ArgumentUtility.CheckNotNull ("documentHandleRegistry", documentHandleRegistry);
      ArgumentUtility.CheckNotNull ("subscriptionProvider", subscriptionProvider);
      ArgumentUtility.CheckNotNull ("nonApplicationUrlFilter", nonApplicationUrlFilter);
      ArgumentUtility.CheckNotNull ("entryPointFilter", entryPointFilter);
      ArgumentUtility.CheckNotNull ("applicationUrlFilter", applicationUrlFilter);

      BrowserEvents = new WebBrowserEvents (this, nonApplicationUrlFilter, applicationUrlFilter, entryPointFilter);
      Navigate (c_blankSite); // bootstrap

      _documentHandleRegistry = documentHandleRegistry;
      _subscriptionProvider = subscriptionProvider;
      _applicationUrlFiler = applicationUrlFilter;

      InstallCustomUIHandler (new DocumentHostUIHandler (this));

      DocumentCompleted += OnDocumentCompleted;
      _documentHandleRegistry.DocumentRegistered += OnDocumentRegistered;
    }
Esempio n. 22
0
 /// <summary>
 /// To create a rule for the event of <see cref="ISubscriptionProvider.OrderLogItemReceived"/>.
 /// </summary>
 /// <param name="subscription">Subscription.</param>
 /// <param name="provider">Subscription provider.</param>
 /// <returns>Rule.</returns>
 public static MarketRule <Subscription, OrderLogItem> WhenOrderLogReceived(this Subscription subscription, ISubscriptionProvider provider)
 {
     return(new OrderLogReceivedRule(subscription, provider));
 }
 public TopSubscriptionProvider(IRecipientProvider recipientProvider,
                                ISubscriptionProvider directSubscriptionProvider, string[] defaultSenderMethods)
     : this(recipientProvider, directSubscriptionProvider)
 {
     _defaultSenderMethods = defaultSenderMethods;
 }
Esempio n. 24
0
 /// <summary>
 /// To create a rule for the event of <see cref="ISubscriptionProvider.TickTradeReceived"/>.
 /// </summary>
 /// <param name="subscription">Subscription.</param>
 /// <param name="provider">Subscription provider.</param>
 /// <returns>Rule.</returns>
 public static MarketRule <Subscription, Trade> WhenTickTradeReceived(this Subscription subscription, ISubscriptionProvider provider)
 {
     return(new TickTradeReceivedRule(subscription, provider));
 }
Esempio n. 25
0
 public AdminNotifySubscriptionProvider(ISubscriptionProvider provider)
 {
     this.provider = provider;
 }
Esempio n. 26
0
 /// <summary>
 /// To create a rule for the event of <see cref="ISubscriptionProvider.CandleReceived"/>.
 /// </summary>
 /// <param name="subscription">Subscription.</param>
 /// <param name="provider">Subscription provider.</param>
 /// <returns>Rule.</returns>
 public static MarketRule <Subscription, Candle> WhenCandleReceived(this Subscription subscription, ISubscriptionProvider provider)
 {
     return(new CandleReceivedRule(subscription, provider));
 }
Esempio n. 27
0
 public Subscriber()
 {
     var engine = BasePage.GetEngine();
     _subscriptionProvider = engine.NotifySource.GetSubscriptionProvider();
     _recipientProvider = engine.NotifySource.GetRecipientsProvider();
 }
Esempio n. 28
0
        private List <SubscriptionObject> GetSubscriptionObjectsByType(Guid productID, Guid moduleID, Guid typeID)
        {
            List <SubscriptionObject> subscriptionObjects  = new List <SubscriptionObject>();
            ISubscriptionProvider     subscriptionProvider = SubscriptionProvider;

            if (typeID.Equals(_wikiSubscriptionTypeNewPageID))
            {
                List <string> wikiList = new List <string>(
                    subscriptionProvider.GetSubscriptions(
                        Constants.NewPage,
                        WikiNotifySource.Instance.GetRecipientsProvider().GetRecipient(SecurityContext.CurrentAccount.ID.ToString()),
                        false)
                    );

                if (wikiList.Contains(null))
                {
                    subscriptionObjects.Add(new SubscriptionObject()
                    {
                        ID               = new Guid("{56A0EC10-5A1C-45ab-95AA-8F56827A8CCC}").ToString(),
                        Name             = WikiResource.NotifyAction_NewPage,
                        URL              = string.Empty,
                        SubscriptionType = GetSubscriptionTypes().Find(st => st.ID.Equals(_wikiSubscriptionTypeNewPageID))
                    });
                }
            }
            else if (typeID.Equals(_wikiSubscriptionTypeChangePageID))
            {
                List <string> wikiList = new List <string>(
                    subscriptionProvider.GetSubscriptions(
                        Constants.EditPage,
                        WikiNotifySource.Instance.GetRecipientsProvider().GetRecipient(SecurityContext.CurrentAccount.ID.ToString()),
                        false)
                    );

                foreach (string wikiObj in wikiList)
                {
                    subscriptionObjects.Add(new SubscriptionObject()
                    {
                        ID               = wikiObj,
                        Name             = string.IsNullOrEmpty(wikiObj) ? WikiResource.MainWikiCaption : wikiObj,
                        URL              = ActionHelper.GetViewPagePath(WikiNotifySource.Instance.GetDefPageHref(), wikiObj),
                        SubscriptionType = GetSubscriptionTypes().Find(st => st.ID.Equals(_wikiSubscriptionTypeChangePageID)),
                    });
                }
            }
            else if (typeID.Equals(_wikiSubscriptionTypeAddPageToCat))
            {
                List <string> wikiList = new List <string>(
                    subscriptionProvider.GetSubscriptions(
                        Constants.AddPageToCat,
                        WikiNotifySource.Instance.GetRecipientsProvider().GetRecipient(SecurityContext.CurrentAccount.ID.ToString()),
                        false)
                    );



                foreach (string wikiObj in wikiList)
                {
                    subscriptionObjects.Add(new SubscriptionObject()
                    {
                        ID               = wikiObj,
                        Name             = wikiObj.Equals(string.Empty) ? WikiResource.MainWikiCaption : wikiObj,
                        URL              = ActionHelper.GetViewPagePath(WikiNotifySource.Instance.GetDefPageHref(), wikiObj),
                        SubscriptionType = GetSubscriptionTypes().Find(st => st.ID.Equals(_wikiSubscriptionTypeAddPageToCat)),
                    });
                }
            }

            return(subscriptionObjects);
        }