protected NotificationDto(Guid id, IntegrationEvent @event, IntegrationEventType eventType, ConfirmationType state, Importancy importancy) : this() { Id = id; Event = @event; EventType = eventType; CreationTime = DateTime.UtcNow; State = state; Importancy = importancy; }
static IntegrationEvent DeserializeDependingOnType(string @event, IntegrationEventType eventType) { switch (eventType) { case IntegrationEventType.ProductPublishedIntegrationEvent: return(JsonSerializer.Deserialize <ProductPublishedIntegrationEvent>(@event)); case IntegrationEventType.ProductPropertiesChangedIntegrationEvent: return(JsonSerializer.Deserialize <ProductPropertiesChangedIntegrationEvent>(@event)); case IntegrationEventType.ProductAddedIntegrationEvent: return(JsonSerializer.Deserialize <ProductAddedIntegrationEvent>(@event)); // ReSharper disable once RedundantCaseLabel default: case IntegrationEventType.Unknown: return(JsonSerializer.Deserialize <IntegrationEvent>(@event)); } }