/// <summary> /// Plays the event. /// </summary> /// <param name="domainEvent">The domain event.</param> private void PlayEvent(RequestSentToSMSProviderEvent domainEvent) { this.MessageStatus = MessageStatus.InProgress; this.Sender = domainEvent.Sender; this.Destination = domainEvent.Destination; this.Message = domainEvent.Message; }
public void RequestSentToSMSProviderEvent_CanBeCreated_IsCreated() { RequestSentToSMSProviderEvent requestSentToProviderEvent = new RequestSentToSMSProviderEvent(TestData.MessageId, TestData.Sender, TestData.Destination, TestData.Message); requestSentToProviderEvent.ShouldNotBeNull(); requestSentToProviderEvent.AggregateId.ShouldBe(TestData.MessageId); requestSentToProviderEvent.EventId.ShouldNotBe(Guid.Empty); requestSentToProviderEvent.MessageId.ShouldBe(TestData.MessageId); requestSentToProviderEvent.Sender.ShouldBe(TestData.Sender); requestSentToProviderEvent.Destination.ShouldBe(TestData.Destination); requestSentToProviderEvent.Message.ShouldBe(TestData.Message); }
/// <summary> /// Sends the request to provider. /// </summary> /// <param name="sender">The sender.</param> /// <param name="destination">The destination.</param> /// <param name="message">The message.</param> /// <exception cref="System.InvalidOperationException">Cannot send a message to provider that has already been sent</exception> public void SendRequestToProvider(String sender, String destination, String message) { if (this.MessageStatus != MessageStatus.NotSet) { throw new InvalidOperationException("Cannot send a message to provider that has already been sent"); } RequestSentToSMSProviderEvent requestSentToProviderEvent = new RequestSentToSMSProviderEvent(this.AggregateId, sender, destination, message); this.ApplyAndAppend(requestSentToProviderEvent); }
public static IHostBuilder CreateHostBuilder(string[] args) { Console.Title = "Messaging Service"; //At this stage, we only need our hosting file for ip and ports IConfigurationRoot config = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("hosting.json", optional: true) .AddJsonFile("hosting.development.json", optional: true) .AddEnvironmentVariables().Build(); IHostBuilder hostBuilder = Host.CreateDefaultBuilder(args); hostBuilder.ConfigureLogging(logging => { logging.AddConsole(); }).ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup <Startup>(); webBuilder.UseConfiguration(config); webBuilder.UseKestrel(); }) .ConfigureServices(services => { RequestSentToEmailProviderEvent e = new RequestSentToEmailProviderEvent(Guid.Parse("2AA2D43B-5E24-4327-8029-1135B20F35CE"), "", new List <String>(), "", "", true); RequestSentToSMSProviderEvent s = new RequestSentToSMSProviderEvent(Guid.NewGuid(), "", "", ""); TypeProvider.LoadDomainEventsTypeDynamically(); services.AddHostedService <SubscriptionWorker>(provider => { IDomainEventHandlerResolver r = provider.GetRequiredService <IDomainEventHandlerResolver>(); EventStorePersistentSubscriptionsClient p = provider.GetRequiredService <EventStorePersistentSubscriptionsClient>(); HttpClient h = provider.GetRequiredService <HttpClient>(); SubscriptionWorker worker = new SubscriptionWorker(r, p, h); worker.TraceGenerated += Worker_TraceGenerated; return(worker); }); }); return(hostBuilder); }