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)); }
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); } } }