Beispiel #1
0
        static void Main(string[] args)
        {
            Console.ForegroundColor = ConsoleColor.White;
            var dateTime = DateTime.Now.AddDays(-7);

            // Searches for all houses sold in woodward
            var frensoWoodwardSoldHouses = "https://api.upx.world/bigdata/history?neighborhood=293&city=0&skip=0&sort=timestamp&ascOrDesc=-1&priceMin=0&priceMax=100000000&upx_fiat=UPX&actionType=buy";
            // Searches Current Listing in woodward
            var frenso_woodward_listing = "https://api.upx.world/bigdata/query?city=0&status=ForSaleUpx&mintMin=0&mintMax=100000000&saleMin=0&saleMax=100000000&skip=0&fsa=All&sort=mint_price&ascOrDesc=1&collections=52";

            var woodwardSoldData       = DataApiController.GetFromJson <JToken>(frensoWoodwardSoldHouses);
            var woodwardActiveListings = DataApiController.GetFromJson <JToken>(frenso_woodward_listing);

            // Processing Sold Data
            var SoldLastSevenDaysPrices = woodwardSoldData["data"]
                                          .Select(t => new Fresno.WoodwardVm()
            {
                SoldPrice = (decimal)t["price_paid"],
                DateSold  = (DateTime)t["timestamp"]
            }).ToList()
                                          .Where(w => w.DateSold >= dateTime);

            var soldall = woodwardSoldData["data"]
                          .Select(t => new Fresno.WoodwardVm()
            {
                SoldPrice = (decimal)t["price_paid"],
                DateSold  = (DateTime)t["timestamp"]
            }).ToList();

            Console.WriteLine(JsonConvert.SerializeObject(SoldLastSevenDaysPrices));

            // Avg Price of houses sold over the last 7days / Amount of houses sold (last 7days)
            var woodwardAvgSoldPriceSevenDays = SoldLastSevenDaysPrices.Average(s => s.SoldPrice);
            var woodwardAmountSoldSevenDays   = SoldLastSevenDaysPrices.Count();

            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("Woodward - Avg Price 7 days");
            Console.WriteLine(JsonConvert.SerializeObject(woodwardAvgSoldPriceSevenDays));
            Console.WriteLine("Woodward - Number of houses sold in the last 7 days");
            Console.WriteLine(JsonConvert.SerializeObject(woodwardAmountSoldSevenDays));
            // Avg Price of houses sold / Amount of houses sold (last 7days)
            var woodwardAvgSoldPriceAllTime = soldall.Average(s => s.SoldPrice);
            var woodwardAmountSold          = soldall.Count();

            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("Avg Price all time");
            Console.WriteLine(JsonConvert.SerializeObject(woodwardAvgSoldPriceAllTime));
            Console.WriteLine("Number of houses sold (total)");
            Console.WriteLine(JsonConvert.SerializeObject(woodwardAmountSold));

            // Processing Active Listings
            var woodwardActiveListingsPrices  = woodwardActiveListings["data"]["properties"].Select(t => (decimal?)t["sale_price_upx"]).ToList();
            var woodwardActiveListingsProcess = woodwardActiveListingsPrices.OrderByDescending(p => p.Value).Where(w => w.Value <= 500000).Take(1000);
            var woodwardAvgActiveListings     = woodwardActiveListingsProcess.Average();

            Console.ForegroundColor = ConsoleColor.Cyan;
            Console.WriteLine(JsonConvert.SerializeObject(woodwardAvgActiveListings));
        }
Beispiel #2
0
        public void Setup()
        {
            config = new HttpConfiguration();
            var request   = new HttpRequestMessage(HttpMethod.Get, "http://localhost/api/products");
            var route     = config.Routes.MapHttpRoute("DefaultApi", "api/{controller}/{id}");
            var routeData = new HttpRouteData(route, new HttpRouteValueDictionary {
                { "controller", "products" }
            });

            controller = new DataApiController();
            controller.ControllerContext = new HttpControllerContext(config, routeData, request);
            controller.Request           = request;
            controller.Request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
        }
        private void TimerElapsed(object sender, ElapsedEventArgs e)
        {
            DataManager       dataManager = new DataManager();
            List <DataSource> datasources = dataManager.GetAllDataSources().ToList();

            for (int i = 0; i < datasources.Count(); i++)
            {
                DataSource datasource = datasources[i];
                if (datasource.LastTimeChecked.AddMinutes(datasource.Interval) < DateTime.Now)
                {
                    DataApiController controller = new DataApiController();
#pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
                    controller.Synchronize(i);
#pragma warning restore CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
                    dataManager.ChangeLastTimeCheckedTime(i, DateTime.Now);
                }
            }
        }