/// <summary> /// 订单流水数据+1 /// </summary> public void NextNumber() { IncreasingNumber++; var publisher = PublisherFactory.Create(); publisher.PublishAsync(string.Format("Qct.LocalPos.NextIncreasingNumber.{0}.{1}.{2}", CompanyId, StoreId, MachineSn), IncreasingNumber, true); }
public static void RegisterServices(IContainer container) { Preconditions.CheckNotNull(container, "container"); // Note: IConnectionConfiguration gets registered when RabbitHutch.CreateBus(..) is run. // default service registration container .Register(_ => container) .Register <IEasyNetQLogger, ConsoleLogger>() .Register <ISerializer, JsonSerializer>() .Register <IConventions, Conventions>() .Register <IEventBus, EventBus>() .Register <ITypeNameSerializer, TypeNameSerializer>() .Register <ICorrelationIdGenerationStrategy, DefaultCorrelationIdGenerationStrategy>() .Register <IMessageSerializationStrategy, DefaultMessageSerializationStrategy>() .Register <IMessageDeliveryModeStrategy, MessageDeliveryModeStrategy>() .Register <IClusterHostSelectionStrategy <ConnectionFactoryInfo>, DefaultClusterHostSelectionStrategy <ConnectionFactoryInfo> >() .Register <IConsumerDispatcherFactory, ConsumerDispatcherFactory>() .Register <IPublishExchangeDeclareStrategy, PublishExchangeDeclareStrategy>() .Register(sp => PublisherFactory.CreatePublisher(sp.Resolve <IConnectionConfiguration>(), sp.Resolve <IEasyNetQLogger>(), sp.Resolve <IEventBus>())) .Register <IConsumerErrorStrategy, DefaultConsumerErrorStrategy>() .Register <IHandlerRunner, HandlerRunner>() .Register <IInternalConsumerFactory, InternalConsumerFactory>() .Register <IConsumerFactory, ConsumerFactory>() .Register <IConnectionFactory, ConnectionFactoryWrapper>() .Register <IPersistentChannelFactory, PersistentChannelFactory>() .Register <IClientCommandDispatcherFactory, ClientCommandDispatcherFactory>() .Register <IHandlerCollectionFactory, HandlerCollectionFactory>() .Register <IAdvancedBus, RabbitAdvancedBus>() .Register <IRpc, Rpc>() .Register <ISendReceive, SendReceive>() .Register <IBus, RabbitBus>(); }
public void Build_ShouldReturnEventPublisher() { var publisher = PublisherFactory.Build(this.mockedBus.Object); Assert.NotNull(publisher); Assert.IsType <EventPublisher>(publisher); }
public void Register_ShouldRegisterAsReactiveBus() { var bus = PublisherFactory.Register(this.mockedSubscribers); Assert.NotNull(bus); Assert.IsType <ReactiveBus>(bus); }
/// <summary> /// 提交订单 /// </summary> /// <returns></returns> public Order SubmitOrder(IEnumerable <IOrderMarketingResult> marketingResults) { var order = new Order(this, marketingResults); var publisher = PublisherFactory.Create(); publisher.PublishAsync(string.Format("PharosRetailing.POSOrderCommited.{0}.{1}.{2}", Cashier.CompanyId, Cashier.StoreId, Cashier.MachineSn), order, true); return(order); }
private static PublisherFactory GetPublisher(IVeStatsDClient client) { var publisherFactory = new PublisherFactory( client, new TopicClientCreator(new TopicCreator()) ); return(publisherFactory); }
/// <summary> /// 设置订单完成 /// </summary> public void SetOrderComplete() { //必须先锁定流水号 OrderId.SetLockIncreasingNumber(); var publisher = PublisherFactory.Create(); publisher.PublishAsync(string.Format("Qct.LocalPos.OrderCompleted.{0}.{1}.{2}", Cashier.CompanyId, Cashier.StoreId, Cashier.MachineSn), this, true); }
private LogStashForwarderService(PublisherFactory publisherFactory) { const string connectionStringName = "logstashConnecctionString"; var publisher = publisherFactory.GetPublisherByAddOnConnection(ConfigurationManager.AppSettings[connectionStringName]); var publisherThread = new Thread(publisher.Publish); publisherThread.Start(); }
public FakeFantasyCriticRepo(FakeFantasyCriticUserStore userStore, FakeMasterGameRepo fakeMasterGameRepo) { _userStore = userStore; _fakeMasterGameRepo = fakeMasterGameRepo; _leagues = LeagueFactory.GetLeagues(); _leagueYears = LeagueFactory.GetLeagueYears(); _usersInLeagues = LeagueFactory.GetUsersInLeagues(); _publishers = PublisherFactory.GetPublishers(); _publisherGames = PublisherFactory.GetPublisherGames(); }
private static PublisherFactory GetPublisher(VeStatsDClient client) { var publisherFactory = new PublisherFactory( client, new FailoverResolver(), new SimpleSerializer(), new TopicClientCreator(new TopicCreator()) ); return(publisherFactory); }
/// <summary> /// 设置支付完成 /// </summary> /// <param name="orderPays"></param> public void SetOrderPayComplete(IEnumerable <OrderPay> orderPays) { if (orderPays == null) { throw new OrderException("支付信息为空,设置失败!"); } OrderPays = orderPays; OrderState = OrderState.Paid; var publisher = PublisherFactory.Create(); publisher.PublishAsync(string.Format("Qct.LocalPos.OrderPaid.{0}.{1}.{2}", Cashier.CompanyId, Cashier.StoreId, Cashier.MachineSn), this, true); }
public void RemoteCallback(SocketClient client, SockectPackageMessage package) { EventJsonWrapper eventJson; if (package.TryReadFromJsonStream(out eventJson)) { var publisher = PublisherFactory.Create(); if (publisher.PublisherId != eventJson.PublisherId) { publisher.PublishAsync(eventJson); } } }
public void Execute() { var def = new TServDef(); var routes = new Routes(_deps.Prefix, def.Label()); var publFactoryBuilder = new PublisherFactoryBuilder(routes, _deps, def.Label(), "none"); def.Configure(new ExecuteConfigurator(null !, publFactoryBuilder)); _publisherFactory = publFactoryBuilder.Build(); var contextFactory = new MessageContextFactory(_publisherFactory); var consumeCatalog = new ConsumeCatalogBuilder(routes, contextFactory, _impl.GetConsumerFactory(), _deps); def.Configure(new ExecuteConfigurator(consumeCatalog, null !)); consumeCatalog.Register(_consumer); }
public void SetUp() { eventBus = new EventBus(); var connectionConfiguration = new ConnectionConfiguration { PublisherConfirms = true, Timeout = 1000 }; var logger = MockRepository.GenerateStub <IEasyNetQLogger>(); publisherConfirms = PublisherFactory.CreatePublisher(connectionConfiguration, logger, eventBus); }
public void Should_return_instance_of_publisher_basic() { var eventBus = MockRepository.GenerateStub <IEventBus>(); var logger = MockRepository.GenerateStub <IEasyNetQLogger>(); var connectionConfiguration = new ConnectionConfiguration { PublisherConfirms = false }; publisher = PublisherFactory.CreatePublisher(connectionConfiguration, logger, eventBus); Assert.IsAssignableFrom <PublisherBasic>(publisher); }
public async Task GenerateGod() { var Factory = new PublisherFactory(); var dto = Factory.GetDataObject(50000, 60000); dto.Publisher.PublisherName = "GOD"; await _context.Publishers.AddAsync(dto.Publisher); foreach (var article in dto.Articles) { await _context.Articles.AddAsync(article); } await _context.SaveChangesAsync(); }
public static void Main(string[] args) { var publisher = PublisherFactory .Register(GetSubscribers()) .Build(); var console = new Console(); var app = new AppBuilder(publisher, console, PublisherName); while (true) { app.Run(); } }
[Fact] public void CorrectGeneratedPublisher() { var factory = new PublisherFactory(); var publishers = new List <PublisherArticlesDTO>(); for (var i = 0; i < 10; i++) { publishers.Add(factory.GetDataObject()); } Assert.Equal(10, publishers.Count); Assert.Contains(publishers, dto => dto.Articles.Count > 20); Assert.Contains(publishers, dto => dto.Articles.Any(a => a.Url.Contains("www.") && a.Url.Contains(".com"))); Assert.Contains(publishers, dto => dto.Articles.Any(a => (int)a.Category >= 0 && (int)a.Category <= 3)); }
private static IMessagePublisher GetSender(PublisherFactory publisherFactory) { var sender = publisherFactory.CreatePublisher(new ServiceBusPublisherConfiguration() { PrimaryConfiguration = new TopicConfiguration() { ConnectionString = "Endpoint=sb://v-dv-dtrc-failover.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=bmTetnCQLAH5+cJqTnlNj+ZtpEkafIcIWw5NQUnSIAU=", TopicName = "testtopic2", }, ServiceBusPublisherStrategy = ServiceBusPublisherStrategy.Simple }); return(sender); }
private static IMessagePublisher GetSender(PublisherFactory publisherFactory) { string primaryConnectionString = ConfigurationManager.AppSettings[YOUR_PRIMARY_CONNECTION_STRING]; var sender = publisherFactory.CreatePublisher(new ServiceBusPublisherConfiguration() { PrimaryConfiguration = new TopicConfiguration() { ConnectionString = primaryConnectionString, TopicName = "testtopic3", }, ServiceBusPublisherStrategy = ServiceBusPublisherStrategy.Simple }); return(sender); }
public GenerateData(ILogger <GenerateData> logger, PublisherFactory publisherFactory) { if (logger is null) { throw new ArgumentNullException(nameof(logger)); } if (publisherFactory is null) { throw new ArgumentNullException(nameof(publisherFactory)); } this.timer.Elapsed += this.Timer_Elapsed; this.logger = logger; this.publisher = publisherFactory.Create(); }
[Fact] public async void TestSuccesfullAddArticles() { var articleContext = new ArticlesContext(options); var controller = new ArticlesController(articleContext); var articleFactory = new ArticleFactory(); var publisherFactory = new PublisherFactory(); var pub = publisherFactory.GetDataObject(0, 0).Publisher; await articleContext.Publishers.AddAsync(pub); await controller.AddArticles(articleFactory.GenerateArticle(pub.Id)); var articles = await controller.GetArticles(); Assert.True(await articleContext.Publishers.CountAsync() == 1); Assert.True(articles.Value.Count == 1); }
public async Task GenerateData(int nr) { var Factory = new PublisherFactory(); for (var i = 0; i < nr; i++) { var dto = Factory.GetDataObject(); await _context.Publishers.AddAsync(dto.Publisher); foreach (var article in dto.Articles) { await _context.Articles.AddAsync(article); } await _context.SaveChangesAsync(); } }
internal static bool LogCore(LogLevel logLevel, PublishTypes publishType, string source, string userName, string message, Exception exception, bool autoInform) { try { Publisher publisher = PublisherFactory.CreatePublisher(publishType); publisher.Message = message; publisher.Level = logLevel; publisher.Source = source; publisher.UserName = userName; publisher.Exception = exception; publisher.AutoInform = autoInform; if (LogPublishing != null) { var subs = LogPublishing.GetInvocationList(); foreach (LogPublishingEventHandler sub in subs) { sub.Invoke(publisher); } } var result = publisher.Publish(); if (LogPublished != null) { var subs = LogPublished.GetInvocationList(); foreach (LogPublishedEventHandler sub in subs) { sub.Invoke(publisher, result); } } return(result); } catch { return(false); } }
public static IServiceCollection ConfigureEventStore( this IServiceCollection services, IConfiguration configuration, ILoggerFactory loggerFactory) { var con = configuration.GetSection("Postgres").Get <string>(); var connections = new DbConnections(con, con); var kafkaBrokers = configuration.GetSection("Kafka:Brokers").Get <string>(); const string serviceName = "cards"; var topic = $"amethyst_{serviceName}_{typeof(Card).Name.ToLowerInvariant()}"; var publisherFactory = new PublisherFactory( new RecordedEventSerializer(), new PublisherConfiguration(kafkaBrokers), loggerFactory); var settings = new AggregateSettingsBuilder() .AddAggregate <Card, CardId, CardFactory>(services, topic, 5) .Build(connections, publisherFactory, new EventSerializer()); return(services.AddEventStore(settings, loggerFactory)); }
// This function will get triggered/executed when a new message is written // on an Azure Queue called queue. // public static async Task ProcessQueueMessage([TimerTrigger("0 */10 * * * *")]TimerInfo timer) public static async void ProcessQueueMessage([TimerTrigger("0 0 12 1/3 * *")] TimerInfo timer) { var issueCommandRepository = new IssueCommandRepository(); var issueQueryRepository = new IssueQueryRepository(); var issueContext = new IssueContext(issueQueryRepository, issueCommandRepository); var issueFactory = new IssueFactory(issueContext); var titleCommandRepository = new TitleCommandRepository(); var titleQueryRepository = new TitleQueryRepository(); var titleContext = new TitleContext(titleQueryRepository, titleCommandRepository); var titleFactory = new TitleFactory(titleContext); var publisherQueryRepository = new PublisherQueryRepository(); var publisherContext = new PublisherContext(publisherQueryRepository); var publisherFactory = new PublisherFactory(publisherContext); var catalogContext = new CatalogContext(publisherFactory, titleFactory, issueFactory); var Catalog = new CatalogObject(catalogContext); await Catalog.Commands.NewReleases(0); var end = string.Empty; }
public void Setup() { _factory = new PublisherFactory(); }
public void TestMethod1() { IPage pp = PublisherFactory.CreatePage(@"http://rd2.zhaopin.com/portal/myrd/regnew.asp?za=2"); pp.setWebBrowser(null); }
internal MessageContextFactory(PublisherFactory publisherFactory) { _publisherFactory = publisherFactory; }
private static void SeedDatabase(IApplicationBuilder app) { using (var serviceScope = app.ApplicationServices.GetRequiredService <IServiceScopeFactory>().CreateScope()) { var context = serviceScope.ServiceProvider.GetService <ZLibraryContext>(); if (context.Users.Any()) { return; } var users = UserFactory.CreateUsers(); context.Users.AddRange(users); var authors = AuthorFactory.CreateAuthors(); context.Authors.AddRange(authors); var publishers = PublisherFactory.CreatePublishers(); context.Publishers.AddRange(publishers); context.SaveChanges(); /***********************************/ /**** ONLY FOR TESTS PURPOSES ****/ /***********************************/ var andrewTroelsen = context.Authors.Single(a => a.Name == "Andrew Troelsen"); var jackPhillips = context.Authors.Single(a => a.Name == "Jack Phillips"); var simonSarris = context.Authors.Single(a => a.Name == "Simon Sarris"); var martinFowler = context.Authors.Single(a => a.Name == "Martin Fowler"); var bruceEckel = context.Authors.Single(a => a.Name == "Bruce Eckel"); var book = new Book() { Isbn = Isbn.FromValue("9780321127426"), PublicationYear = 2014, Publisher = publishers.Where <Publisher>(p => p.Name == "Editora Futura").SingleOrDefault(), Synopsis = "HTML5 Unleashed is the authoritative guide that covers the key web components driving the future of the Web", Title = "HTML 5 - Unleashed", NumberOfCopies = 3, CoverImageKey = Guid.Parse("80ae1455-8f43-4a40-aa41-39e486fd61d1") }; context.Books.Add(book); context.SaveChanges(); book.Authors = new List <BookAuthor>() { new BookAuthor() { Book = book, BookId = book.Id, Author = simonSarris, AuthorId = simonSarris.Id } }; context.SaveChanges(); var book2 = new Book() { Isbn = Isbn.FromValue("9780672336270"), PublicationYear = 2014, Publisher = publishers.FirstOrDefault(), Synopsis = "Java 2 for professional development and best practices.", Title = "Effective Java Java Java Java Java Java Java Java Java Java Java Java Java Java Java Javaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", NumberOfCopies = 2, CoverImageKey = Guid.Parse("5b0cf369-a0b2-4643-ac84-36058e729a21") }; context.Books.Add(book2); context.SaveChanges(); book2.Authors = new List <BookAuthor>() { new BookAuthor() { Book = book2, BookId = book2.Id, Author = jackPhillips, AuthorId = jackPhillips.Id }, new BookAuthor() { Book = book2, BookId = book2.Id, Author = andrewTroelsen, AuthorId = andrewTroelsen.Id }, new BookAuthor() { Book = book2, BookId = book2.Id, Author = bruceEckel, AuthorId = bruceEckel.Id } }; context.SaveChanges(); var book3 = new Book() { Isbn = Isbn.FromValue("9780316037723"), PublicationYear = 2014, Publisher = publishers.Where <Publisher>(p => p.Name == "Addison - Wesley").SingleOrDefault(), Synopsis = "The practice of enterprise application development has benefited from the emergence of many new enabling technologies.", Title = "Enterprise Application Architecture", NumberOfCopies = 1, CoverImageKey = Guid.Parse("5b0cf369-a0b2-4643-ac84-36058e729a22") }; context.Books.Add(book3); context.SaveChanges(); book3.Authors = new List <BookAuthor>() { new BookAuthor() { Book = book3, BookId = book3.Id, Author = jackPhillips, AuthorId = jackPhillips.Id }, new BookAuthor() { Book = book3, BookId = book3.Id, Author = andrewTroelsen, AuthorId = andrewTroelsen.Id } }; context.SaveChanges(); var book4 = new Book() { Isbn = Isbn.FromValue("9780316037723"), PublicationYear = 2014, Publisher = publishers.Where <Publisher>(p => p.Name == "Addison - Wesley").SingleOrDefault(), Synopsis = "The practice of enterprise application development has benefited from the emergence of many new enabling technologies.", Title = "Enterprise Application Architecture", NumberOfCopies = 1, CoverImageKey = Guid.Parse("5b0cf369-a0b2-4643-ac84-36058e729a23") }; context.Books.Add(book4); context.SaveChanges(); book4.Authors = new List <BookAuthor>() { new BookAuthor() { Book = book4, BookId = book4.Id, Author = jackPhillips, AuthorId = jackPhillips.Id }, new BookAuthor() { Book = book4, BookId = book4.Id, Author = andrewTroelsen, AuthorId = andrewTroelsen.Id } }; context.SaveChanges(); var book5 = new Book() { Isbn = Isbn.FromValue("9780316037723"), PublicationYear = 2014, Publisher = publishers.Where <Publisher>(p => p.Name == "Addison - Wesley").SingleOrDefault(), Synopsis = "The practice of enterprise application development has benefited from the emergence of many new enabling technologies.", Title = "Enterprise Application Architecture", NumberOfCopies = 1, CoverImageKey = Guid.Parse("5b0cf369-a0b2-4643-ac84-36058e729a24") }; context.Books.Add(book5); context.SaveChanges(); book5.Authors = new List <BookAuthor>() { new BookAuthor() { Book = book5, BookId = book5.Id, Author = jackPhillips, AuthorId = jackPhillips.Id }, new BookAuthor() { Book = book5, BookId = book5.Id, Author = andrewTroelsen, AuthorId = andrewTroelsen.Id } }; context.SaveChanges(); var book6 = new Book() { Isbn = Isbn.FromValue("9780672336270"), PublicationYear = 2014, Publisher = publishers.FirstOrDefault(), Synopsis = "Java 2 for professional development and best practices.", Title = "Effective Java", NumberOfCopies = 2, CoverImageKey = Guid.Parse("5b0cf369-a0b2-4643-ac84-36058e729a25") }; context.Books.Add(book6); context.SaveChanges(); book6.Authors = new List <BookAuthor>() { new BookAuthor() { Book = book6, BookId = book6.Id, Author = jackPhillips, AuthorId = jackPhillips.Id }, new BookAuthor() { Book = book6, BookId = book6.Id, Author = andrewTroelsen, AuthorId = andrewTroelsen.Id } }; context.SaveChanges(); var book7 = new Book() { Isbn = Isbn.FromValue("9780672336270"), PublicationYear = 2014, Publisher = publishers.FirstOrDefault(), Synopsis = "Java 2 for professional development and best practices.", Title = "Effective Java", NumberOfCopies = 2, CoverImageKey = Guid.Parse("5b0cf369-a0b2-4643-ac84-36058e729a26") }; context.Books.Add(book7); context.SaveChanges(); book7.Authors = new List <BookAuthor>() { new BookAuthor() { Book = book7, BookId = book7.Id, Author = jackPhillips, AuthorId = jackPhillips.Id }, new BookAuthor() { Book = book7, BookId = book7.Id, Author = andrewTroelsen, AuthorId = andrewTroelsen.Id } }; context.SaveChanges(); var book8 = new Book() { Isbn = Isbn.FromValue("9780672336270"), PublicationYear = 2014, Publisher = publishers.FirstOrDefault(), Synopsis = "Java 2 for professional development and best practices.", Title = "Effective Java", NumberOfCopies = 2, CoverImageKey = Guid.Parse("5b0cf369-a0b2-4643-ac84-36058e729a27") }; context.Books.Add(book8); context.SaveChanges(); book8.Authors = new List <BookAuthor>() { new BookAuthor() { Book = book8, BookId = book8.Id, Author = jackPhillips, AuthorId = jackPhillips.Id }, new BookAuthor() { Book = book8, BookId = book8.Id, Author = andrewTroelsen, AuthorId = andrewTroelsen.Id } }; context.SaveChanges(); var book9 = new Book() { Isbn = Isbn.FromValue("9780672336270"), PublicationYear = 2014, Publisher = publishers.FirstOrDefault(), Synopsis = "Java 2 for professional development and best practices.", Title = "Effective Java", NumberOfCopies = 2, CoverImageKey = Guid.Parse("5b0cf369-a0b2-4643-ac84-36058e729a28") }; context.Books.Add(book9); context.SaveChanges(); book9.Authors = new List <BookAuthor>() { new BookAuthor() { Book = book9, BookId = book9.Id, Author = jackPhillips, AuthorId = jackPhillips.Id }, new BookAuthor() { Book = book9, BookId = book9.Id, Author = andrewTroelsen, AuthorId = andrewTroelsen.Id } }; context.SaveChanges(); var book10 = new Book() { Isbn = Isbn.FromValue("9780672336270"), PublicationYear = 2014, Publisher = publishers.FirstOrDefault(), Synopsis = "Java 2 for professional development and best practices.", Title = "Effective Java", NumberOfCopies = 2, CoverImageKey = Guid.Parse("5b0cf369-a0b2-4643-ac84-36058e729a29") }; context.Books.Add(book10); context.SaveChanges(); book10.Authors = new List <BookAuthor>() { new BookAuthor() { Book = book10, BookId = book10.Id, Author = jackPhillips, AuthorId = jackPhillips.Id }, new BookAuthor() { Book = book10, BookId = book10.Id, Author = andrewTroelsen, AuthorId = andrewTroelsen.Id } }; context.SaveChanges(); var book11 = new Book() { Isbn = Isbn.FromValue("9780672336270"), PublicationYear = 2014, Publisher = publishers.FirstOrDefault(), Synopsis = "Java 2 for professional development and best practices.", Title = "Effective Java", NumberOfCopies = 2, CoverImageKey = Guid.Parse("5b0cf369-a0b2-4643-ac84-36058e729a30") }; context.Books.Add(book11); context.SaveChanges(); book11.Authors = new List <BookAuthor>() { new BookAuthor() { Book = book11, BookId = book11.Id, Author = jackPhillips, AuthorId = jackPhillips.Id }, new BookAuthor() { Book = book11, BookId = book11.Id, Author = andrewTroelsen, AuthorId = andrewTroelsen.Id } }; context.SaveChanges(); var book12 = new Book() { Isbn = Isbn.FromValue("9780672336270"), PublicationYear = 2014, Publisher = publishers.FirstOrDefault(), Synopsis = "Java 2 for professional development and best practices.", Title = "Effective Java", NumberOfCopies = 2, CoverImageKey = Guid.Parse("5b0cf369-a0b2-4643-ac84-36058e729a31") }; context.Books.Add(book12); context.SaveChanges(); book12.Authors = new List <BookAuthor>() { new BookAuthor() { Book = book12, BookId = book12.Id, Author = jackPhillips, AuthorId = jackPhillips.Id }, new BookAuthor() { Book = book12, BookId = book12.Id, Author = andrewTroelsen, AuthorId = andrewTroelsen.Id } }; context.SaveChanges(); // var book3 = new Book() // { // Authors = new List<Author>() { martinFowler }, // Isbn = Isbn.FromValue("9780316037723"), // PublicationYear = 2014, // Publisher = publishers.Where<Publisher>(p => p.Name == "Addison - Wesley").SingleOrDefault(), // Synopsis = "The practice of enterprise application development has benefited from the emergence of many new enabling technologies.", // Title = "Patterns of Enterprise Application Architecture" // }; // martinFowler.Books = new List<Book>() { book3 }; // context.Books.Add(book3); // context.SaveChanges(); // var book4 = new Book() // { // Authors = new List<Author>() { andrewTroelsen }, // Isbn = Isbn.FromValue("9780201738292"), // PublicationYear = 2014, // Publisher = publishers.FirstOrDefault(), // Synopsis = "Java 2 for professional development and best practices.", // Title = "Java" // }; // andrewTroelsen.Books = new List<Book>() { book2, book4 }; // context.Books.Add(book4); // context.SaveChanges(); // var book5 = new Book() // { // Authors = context.Authors.Where(a => a.Name == "Andrew Troelsen" || a.Name == "Martin Fowler").ToList(), // Isbn = Isbn.FromValue("9780316380508"), // PublicationYear = 2014, // Publisher = publishers.FirstOrDefault(), // Synopsis = "Java 2 for professional development and best practices.", // Title = "Java Cool" // }; // context.Books.Add(book5); // context.SaveChanges(); // var book6 = new Book() // { // Authors = context.Authors.Where(a => a.Name == "Andrew Troelsen" || a.Name == "Martin Fowler").ToList(), // Isbn = Isbn.FromValue("9780764542800"), // PublicationYear = 2014, // Publisher = publishers.Where(p => p.Name == "Addison - Wesley").SingleOrDefault(), // Synopsis = "Java 2 for professional development and best practices.", // Title = "Java F**k Cool" // }; // context.Books.Add(book6); // context.SaveChanges(); // var book7 = new Book() // { // Authors = new List<Author>() { context.Authors.Single(a => a.Name == "Andrew Troelsen") }, // Isbn = Isbn.FromValue("9780764542800"), // PublicationYear = 2014, // Publisher = context.Publishers.Where(p => p.Name == "Addison - Wesley").SingleOrDefault(), // Synopsis = "Java 2 for professional development and best practices.", // Title = "Java Awesome Cool" // }; // context.Books.Add(book7); // context.SaveChanges(); var bookId = 1; var firstUser = users.SingleOrDefault(u => u.Id == 17); var secondUser = users.SingleOrDefault(u => u.Id == 16); var reservation1 = new Reservation(bookId, secondUser); reservation1.Reason.Status = ReservationStatus.Requested; context.Reservations.Add(reservation1); context.SaveChanges(); var reservation2 = new Reservation(2, firstUser); reservation2.Reason.Status = ReservationStatus.Requested; context.Reservations.Add(reservation2); context.SaveChanges(); var reservation3 = new Reservation(3, firstUser); reservation3.Reason.Status = ReservationStatus.Requested; context.Reservations.Add(reservation3); context.SaveChanges(); var reservation4 = new Reservation(3, firstUser); reservation4.Reason.Status = ReservationStatus.Approved; context.Reservations.Add(reservation4); context.SaveChanges(); /* * var loan1 = new Loan(reservation1); * loan1.Status = LoanStatus.Borrowed; * //loan1.ExpirationDate = DateTime.Now.AddDays(-1); * context.Loans.Add(loan1); * context.SaveChanges(); * * var loan2 = new Loan(reservation2); * loan2.Status = LoanStatus.Returned; * context.Loans.Add(loan2); * context.SaveChanges(); * * var loan3 = new Loan(reservation3); * context.Loans.Add(loan3); * context.SaveChanges(); * * var loan4 = new Loan(reservation4); * context.Loans.Add(loan4); * context.SaveChanges(); */ } }
public async Task <bool[]> CreateMonitoredItemsAsync(string serverUrl, MonitorableNode[] monitorableNodes, string brokerUrl, string topic) { var session = await GetSessionAsync(serverUrl); MonitorPublishInfo monitorInfo; const string pattern = @"^(mqtt|signalr):(.*)$"; var match = Regex.Match(brokerUrl, pattern); var protocol = match.Groups[1].Value; var url = match.Groups[2].Value; var publisher = PublisherFactory.GetPublisherForProtocol(protocol, url); //Set publishInterval to minimum samplinginterval var publishInterval = monitorableNodes.Select(elem => elem.SamplingInterval).Min(); lock (_monitorPublishInfo) { //Check if a Subscription for the if (_monitorPublishInfo.ContainsKey(serverUrl)) { monitorInfo = _monitorPublishInfo[serverUrl].FirstOrDefault(info => info.Topic == topic && info.BrokerUrl == url); if (monitorInfo == null) { monitorInfo = new MonitorPublishInfo() { Topic = topic, BrokerUrl = url, Subscription = CreateSubscription(session, publishInterval, 0), Publisher = publisher }; _monitorPublishInfo[serverUrl].Add(monitorInfo); } else if (monitorInfo.Subscription.PublishingInterval > publishInterval) { monitorInfo.Subscription.PublishingInterval = publishInterval; monitorInfo.Subscription.Modify(); } } else { monitorInfo = new MonitorPublishInfo() { Topic = topic, BrokerUrl = url, Subscription = CreateSubscription(session, publishInterval, 0), Publisher = publisher }; var list = new List <MonitorPublishInfo> { monitorInfo }; _monitorPublishInfo.Add(serverUrl, list); } } var createdMonitoredItems = new List <MonitoredItem>(); foreach (var monitorableNode in monitorableNodes) { var mi = new MonitoredItem() { StartNodeId = PlatformUtils.ParsePlatformNodeIdString(monitorableNode.NodeId), DisplayName = monitorableNode.NodeId, SamplingInterval = monitorableNode.SamplingInterval }; if (monitorableNode.DeadBand != "none") { mi.Filter = new DataChangeFilter() { Trigger = DataChangeTrigger.StatusValue, DeadbandType = (uint)(DeadbandType)Enum.Parse(typeof(DeadbandType), monitorableNode.DeadBand, true), DeadbandValue = monitorableNode.DeadBandValue }; } mi.Notification += OnMonitorNotification; monitorInfo.Subscription.AddItem(mi); var monitoredItems = monitorInfo.Subscription.CreateItems(); createdMonitoredItems.AddRange(monitoredItems); } var results = createdMonitoredItems.Distinct().Select(m => m.Created).ToArray(); foreach (var monitoredItem in createdMonitoredItems.Where(m => !m.Created)) { monitorInfo.Subscription.RemoveItem(monitoredItem); } return(results); }