public static Func <Task> GetHandler( IAsyncDocumentSession session, object @event ) { return(@event switch { V1.OrderCreated e => () => session.Create(e.FromCreated), V1.ServiceActivated e => () => UpdateActiveServices( e.ClassifiedAdId, services => services.Add( new AdActiveServices.Service { ServiceType = e.ServiceType } ) ), V1.ServiceDeactivated e => () => UpdateActiveServices( e.ClassifiedAdId, services => services.RemoveAll( x => x.ServiceType == e.ServiceType ) ), _ => (Func <Task>)null });