Example #1
0
        private static void PreloadPreviousTickersToWarmUp(EventStoreHandler eventstoreHandler, int tickersToLoad = 9)
        {
            OutputWriter.WriteLine($"Preloading {tickersToLoad} last tickers to warm up");

            var previousTickers = eventstoreHandler.ReadLastEvents(GlobalConfig.TickerStreamName, tickersToLoad);

            previousTickers.ForEach(HandleNewTicker);
        }
Example #2
0
        private static void ConnectToEventstore()
        {
            OutputWriter.WriteLine(ConsoleColor.Yellow, "Connecting to eventstore...");

            _eventstoreHandler = new EventStoreHandler(GlobalConfig.EventstoreEndpoint);

            _eventstoreHandler.Connect();

            OutputWriter.WriteLine(ConsoleColor.Green, "Yay, I am connected!");
        }
Example #3
0
        private static List <Ticker> GetLastTickersFromEventstore(int tickersToFetch)
        {
            using (var eventStoreHandler = new EventStoreHandler(GlobalConfig.EventstoreEndpoint))
            {
                eventStoreHandler.Connect();

                var eventstoreEvents = eventStoreHandler.ReadLastEvents(GlobalConfig.TickerStreamName, tickersToFetch);
                var tickers          = eventstoreEvents.Select(GetTickerFromEvent).ToList();

                return(tickers);
            }
        }
            public void AddsEventToRepository()
            {
                var fixture              = new Fixture();
                var mockEvent            = fixture.Create <PourStopped>();
                var mockRepo             = new Mock <IStoredEventRepository>();
                var mockDateTimeProvider = new Mock <IDateTimeProvider>();

                var sut = new EventStoreHandler <PourStopped>(mockRepo.Object, mockDateTimeProvider.Object);

                sut.Handle(mockEvent);

                mockRepo.Verify(r => r.Add(It.IsAny <StoredEvent>()));
            }
            public void AddsEventToRepository()
            {
                var fixture = new Fixture();
                var mockEvent = fixture.Create<PourStopped>();
                var mockRepo = new Mock<IStoredEventRepository>();
                var mockDateTimeProvider = new Mock<IDateTimeProvider>();

                var sut = new EventStoreHandler<PourStopped>(mockRepo.Object, mockDateTimeProvider.Object);

                sut.Handle(mockEvent);

                mockRepo.Verify(r => r.Add(It.IsAny<StoredEvent>()));
            }
Example #6
0
        static void Main(string[] args)
        {
            List <Ticker> trainingTickers = GetLastTickersFromEventstore(tickersToFetch: 4000);

            #region Train prediction network

            var predictionConfig = new PredictionConfig()
            {
                NumberOfPreviousTickers = 10,                                   //input nodes
                PredictedColumnName     = "last_price",                         //output node
                InputColumnNames        = trainingTickers.First().Keys.ToList() //input columns
            };

            var factory = new PredictionMachineFactory(predictionConfig, trainingTickers);

            var predictionMachine = factory.CreateAndTrainMachine();

            #endregion

            TestPredictionsInSimulator(predictionMachine, trainingTickers);

            #region Save predictionMachine in Eventstore

            var serializedPredictionMachine = SerializationHelper.SerializeBot(predictionMachine);

            using (var eventStoreHandler = new EventStoreHandler(GlobalConfig.EventstoreEndpoint))
            {
                eventStoreHandler.Connect();
                eventStoreHandler.WriteBytes(
                    streamId: GlobalConfig.PredictionMachinesStreamName,
                    data: serializedPredictionMachine, datatype: predictionMachine.GetType().FullName,
                    metadata: Encoding.UTF8.GetBytes(""),
                    isJson: false
                    ).Wait();
            }

            #endregion

            OutputWriter.WriteLine();
            OutputWriter.WriteLine("Press enter to exit");
            Console.ReadLine();
        }
        async Task <bool> IAddRepository <AdminModel, bool> .AddAsync(AdminModel model)
        {
            try
            {
                var taskConnection = sqlClientDbProviders.GetConnectionAsync();
                var taskParameter  = base.SetParameterAsync("Add-Admin", model);

                var taskAdd =
                    await
                    base
                    .DapperFluent
                    ?.Value
                    ?.SqlOpenConnection(await taskConnection)
                    ?.SqlParameter(async() => await taskParameter)
                    ?.SqlCommand(async(dbConnection, dynamicParameter) =>
                {
                    var queryData =
                        (await
                         dbConnection
                         ?.QueryFirstAsync <MessageModel>("Admin.uspSetAdmin", param: dynamicParameter, commandType: CommandType.StoredProcedure)
                        )
                        ?.Message;

                    return((queryData.Contains("Insert")) ? true : false);
                })
                    ?.ResultAsync <bool>();

                if (taskAdd == true)
                {
                    EventStoreHandler?.Invoke(this, model);
                }

                return(taskAdd);
            }
            catch
            {
                throw;
            }
        }