public async Task AddEventAsync <T>(string streamName, Guid streamId, string @event, T entity) where T : class, IEntity
        {
            streamName = streamName.ToLower();
            HttpResponseMessage response = await _aggregatesClient.AddEventAsync(streamName,
                                                                                 streamId,
                                                                                 new Serializedio.Client.Types.Event <T>()
            {
                Data      = entity,
                EventId   = entity.Id,
                EventType = @event
            });

            if (!response.IsSuccessStatusCode)
            {
#if DEBUG
                string t = await response.Content.ReadAsStringAsync();
#endif

                throw new Exception($"Response for {nameof(AddEventAsync)} was not OK.");
            }
        }
Exemplo n.º 2
0
        static async Task Seed()
        {
            for (int i = 0; i < 1_000; i++)
            {
                HttpResponseMessage response = await _aggregatesClient.AddEventAsync("movement", AGGREGATE_ID, new Event <object>()
                {
                    EventId   = Guid.NewGuid(),
                    EventType = "deposit",
                    Data      = new { amount = _random.Next(1, 100) }
                });

                if (!response.IsSuccessStatusCode)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("Request error");
                    Console.ResetColor();
                    break;
                }
                else
                {
                    Console.WriteLine($"{i}. Event added.");
                }
            }
        }