public async Task RunProjections()
        {
            foreach (var item in ProjectionList.Items)
            {
                var query = await projectionContext.GetQueryAsync(item.Name);

                if (query == null)
                {
                    await projectionContext.CreateContinuousAsync(item.Name, item.Query);
                }
                else if (query != item.Query)
                {
                    await projectionContext.UpdateProjectionAsync(item.Name, item.Query);
                }
            }
        }
        public async Task CreateProjectionTest()
        {
            var projectionManager = new ProjectionProvider();

            var name = "Order c0c8b62c-607e-4298-824c-1a73f7361f75";

            var projectionQuery = @"fromStream('Order c0c8b62c-607e-4298-824c-1a73f7361f75')
                            .when({
                                $init:function(){
                                    return {
                                        events: []
                                    };
                                },
                                $any: function(state, event){
                                    
                                    var metadata = JSON.parse(event.metadataRaw);
                                    var timeStamp = metadata.TimeStamp;
                                    
                                    if(Date.parse(timeStamp) >= Date.parse('2017-12-15 18:20:36')){
                                        var data = {
                                            eventType : event.eventType,
                                            eventData : event,
                                            timeStamp : timeStamp
                                        };
            
                                        state.events.push(data);
                                    }
                                }
                            });";

            await projectionManager.CreateContinuousAsync(name, projectionQuery);

            await projectionManager.EnableAsync(name);

            var query = projectionManager.GetQueryAsync(name);

            Assert.IsNotNull(query);
            Assert.AreEqual(query, projectionQuery);
        }