예제 #1
0
        public static IActionResult Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequestMessage req,
                                        ILogger log)
        {
            log.LogInformation("C# HTTP trigger function processed a request.");
            ProviderSynchronise ps = new ProviderSynchronise();
            List <ProviderService.ProviderRecordStructure> output = ps.SynchroniseProviders(DateTime.MinValue, log);

            //var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
            //System.IO.File.WriteAllText("C:\out.json", serializer.Serialize(output));

            JsonSerializer serializer = new JsonSerializer();

            serializer.Converters.Add(new JavaScriptDateTimeConverter());
            serializer.NullValueHandling = NullValueHandling.Ignore;
            //string path = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString() + ".json");
            //using (StreamWriter sw = new StreamWriter(path))
            //using (JsonWriter writer = new JsonTextWriter(bw))
            MemoryStream ms = new MemoryStream();

            using (StreamWriter sw = new StreamWriter(ms))
                using (JsonWriter writer = new JsonTextWriter(sw))
                    serializer.Serialize(writer, output);

            //return req.CreateResponse<string>(HttpStatusCode.OK, JsonConvert.SerializeObject(output));
            return(new FileContentResult(ms.ToArray(), "file/text")
            {
                FileDownloadName = "download.json"
            });
        }
        public static void Run([TimerTrigger("0 0 0 */1 * *")] TimerInfo myTimer, ILogger log)       // Every 24 hrs normally
        //public static void Run([TimerTrigger("0 */1 * * * *")]TimerInfo myTimer, ILogger log) {   // Every minute for debug

        {
            log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");

            ProviderSynchronise ps = new ProviderSynchronise();
            List <ProviderService.ProviderRecordStructure> output = ps.SynchroniseProviders(log);

            log.LogInformation($"Inserting {output.Count} providers to CosmosDB providers collection");
            Task <bool> task = new ProviderStorage().InsertDocs(output, log);
        }
예제 #3
0
        public static async Task <HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequestMessage req,
                                                           ILogger log)
        {
            log.LogInformation("C# HTTP trigger function processed a request.");
            ProviderSynchronise ps = new ProviderSynchronise();
            List <ProviderService.ProviderRecordStructure> output = ps.SynchroniseProviders(DateTime.MinValue, log);

            log.LogInformation($"Inserting {output.Count} providers to CosmosDB providers collection");
            Task <bool> task = new ProviderStorage().InsertDocs(output, log, true);  // Truncate collection first

            task.Wait();
            return(req.CreateResponse <string>(HttpStatusCode.OK, JsonConvert.SerializeObject(output)));
        }