コード例 #1
0
        public static async Task <HttpResponseMessage> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequestMessage req,
            TraceWriter log)
        {
            string id         = req.GetQueryNameValuePairs().FirstOrDefault(q => string.Compare(q.Key, "id", true) == 0).Value;
            int    argumentId = 0;

            Int32.TryParse(id, out argumentId);
            AssemblyVersionResolver.RedirectAssembly();
            TravelContext dbContext = new TravelContext();

            //1 - Generates only dummy data
            //2 - Calculates the delta population for the dummy data imported via data factory job.
            //3 - Predicts the population for next 3 years from the current month - calls the ML Service
            //23 - Does 2 and 3 together
            switch (argumentId)
            {
            case 1:
                DummyDataSimulator.GenerateDummyTravelData(dbContext);
                break;

            case 2:
                DeltaCalculator.CalculateDeltaPopulationFromDummyData(dbContext);
                break;

            case 3:
                DeltaPredictor.PredictMigrationPopulation(dbContext).Wait();
                break;

            case 23:
                DeltaCalculator.CalculateDeltaPopulationFromDummyData(dbContext);
                DeltaPredictor.PredictMigrationPopulation(dbContext).Wait();
                break;

            default:
                break;
            }

            await Task.Delay(1);

            return(id == null
                  ? new HttpResponseMessage(HttpStatusCode.BadRequest)
            {
                Content = new StringContent(JsonConvert.SerializeObject("Please pass a name on the query string or in the request body"), Encoding.UTF8, "application/json")
            }
                  : new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(JsonConvert.SerializeObject(new { result = "Hello " + id }), Encoding.UTF8, "application/json")
            });
        }
コード例 #2
0
        public static async Task Main(string[] args)
        {
            using var psvReader = new PsvReader();
            var baseline = psvReader.ExtractRecords <FileSystem, CombinedRecord>(args[0], onError: e => Console.WriteLine(e));
            var current  = psvReader.ExtractRecords <FileSystem, CombinedRecord>(args[1], onError: e => Console.WriteLine(e));

            var deltaActions = DeltaCalculator.CalculateDeltaActions <CombinedRecord>(baseline, current);

            var createsTask = PsvWriting.WriteAsync <FileSystem, CombinedRecord>("creates.psv", deltaActions.RecordsToCreate);
            var replaceTask = PsvWriting.WriteAsync <FileSystem, CombinedRecord>("replaces.psv", deltaActions.RecordsToReplace);
            var removesTask = PsvWriting.WriteAsync <FileSystem, CombinedRecord>("removes.psv", deltaActions.RecordsToRemove);

            await Task.WhenAll(createsTask, replaceTask, removesTask);

            await File.WriteAllTextAsync("index.html", GenerateHtmlReport <CombinedRecord>(deltaActions));

            await File.WriteAllTextAsync("summary.geojson", GenerateGeoJson(deltaActions));
        }