示例#1
0
文件: Program.cs 项目: uopeydel/T-I-K
        //var repoIndex = new IndexRepository(context.CreateClient());
        //repoIndex.IndexData<UserAccount>(userAccount, "member", "userAccount");



        static void Main(string[] args)
        {
            var repo = new EodRepository(context.CreateClient(), context.IndexName);

            string path       = Path.GetFullPath("../../../sampleData/set-archive_EOD_UPDATE");
            string targetPath = Path.GetFullPath("../../../sampleData/ElasticSearchData");

            if (!Directory.Exists(targetPath))
            {
                Directory.CreateDirectory(targetPath);
            }
            Console.WriteLine(path);
            var allFiles = Directory.GetFiles(path);

            var files = allFiles.ToList();

            //var files = allFiles.Where(a => a.Contains("1975"));

            if (files.Any())
            {
                string _index = "set_eod";
                string _type  = "eod";
                foreach (var file in files)
                {
                    StringBuilder builder = new StringBuilder();

                    Console.WriteLine(string.Format("FileName:D {0}", file));
                    string fileName       = Path.GetFileName(file);
                    string targetFileName = Path.Combine(targetPath, fileName.Replace(".csv", ".json"));



                    var engine = new FileHelperEngine <EodTmpl>();

                    // To Read Use:
                    var records = engine.ReadFile(file);
                    // result is now an array of Customer

                    foreach (var dataRecord in records)
                    {
                        var    ent = MapTo(dataRecord);
                        string a   = string.Format(@"{{""index"": {{""_index"": ""{0}"", ""_type"": ""{1}"", ""_id"": ""{2}""}}}}", _index, _type, ent.Id);
                        builder.AppendLine(a);
                        Console.WriteLine(a);

                        var s = string.Format(@"{{""symbol"": ""{0}"", ""eodDate"": ""{1}"", ""open"": {2}, ""high"": {3}, ""low"": {4}, ""close"": {5}, ""volume"": {6}, ""id"": ""{7}"" }}",
                                              ent.Symbol, ent.EodDate.ToString("yyyy-MM-ddTHH:mm:ss"), ent.Open, ent.High, ent.Low, ent.Close, ent.Volume, ent.Id);
                        builder.AppendLine(s);
                        Console.WriteLine(s);
                    }


                    File.WriteAllText(targetFileName, builder.ToString());
                }
            }

            Console.ReadKey();

            Console.ReadLine();
        }
示例#2
0
        public void Start()
        {
            logger.Info("Start");
            try
            {
                var huconConfig = Path.Combine(Directory.GetCurrentDirectory(), EnvSettings.Instance().HuconFileName);
                var config      = HoconLoader.FromFile(huconConfig);
                ActorSystemInstance = ActorSystem.Create(EnvSettings.Instance().ActorSystem, config);

                IMemberRepository memberRepository = new MockMemberRepository();


                var elasticsearchUrl = EnvSettings.Instance().ElasticsearchUrl;
                var rootIndex        = EnvSettings.Instance().ElasticsearchIndexSet;
                var context          = new EsContext(new Uri(elasticsearchUrl), rootIndex);
                ICommonStockRepository     commonStockRepository     = new CommonStockRepository(context);
                ICommonStockInfoRepository commonStockInfoRepository = new CommonStockInfoRepository(context);
                IEodRepository             eodRepository             = new EodRepository(context);

                //IBatchPublisher batchPublisher = new BatchPublisher(new Uri(EnvSettings.Instance().BatchUrl));

                var memberController = MemberActorProvider.CreateInstance(ActorSystemInstance, memberRepository);
                //var jobsActorProvider = JobsActorProvider.CreateInstance(ActorSystemInstance, batchPublisher);
                //var backLogsActor = BackLogsActorProvider.CreateInstance(ActorSystemInstance, new JobsActorProvider(ActorSystemInstance, EnvSettings.Instance().AkkaAddress));
                var commonStocksActor     = CommonStocksProvider.CreateInstance(ActorSystemInstance, commonStockRepository, commonStockInfoRepository);
                var eodStocksActor        = EodStocksProvider.CreateInstance(ActorSystemInstance, eodRepository);
                var commonStockRouteActor = CommonStockRouteProvider.CreateInstance(ActorSystemInstance, commonStocksActor, eodStocksActor);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#3
0
        public void SearchEod()
        {
            var context   = new EsContext(new Uri("http://localhost:9200"), "set");
            var repo      = new EodRepository(context);
            var symbol    = "AFC";
            var startDate = DateTime.Now.AddMonths(-34);
            var endDate   = DateTime.Now;
            var maxSize   = 1000;

            var commonStocks = repo.SearchDateRange(symbol, startDate, endDate, maxSize).ToList();

            //var result = commonStocks.Where(a => a.EodDate > startDate && a.EodDate < endDate);
            Assert.NotEmpty(commonStocks);
        }
示例#4
0
        public void MatchAllEod()
        {
            try
            {
                var context = new EsContext(new Uri("http://localhost:9200"), "set");
                var repo    = new EodRepository(context);

                var res = repo.List();
                Assert.NotNull(res);
            }
            catch (Exception ex)
            {
                Console.Write(ex.Message);
            }
        }
示例#5
0
        public void AddEod()
        {
            var context = new EsContext(new Uri("http://localhost:9200"), "set");
            var repo    = new EodRepository(context);

            try
            {
                foreach (var item in _collection)
                {
                    repo.Add(item);
                }
            }
            catch (Exception ex)
            {
                Console.Write(ex.Message);
            }
        }