public static async Task <IActionResult> DeletePlans( [HttpTrigger(AuthorizationLevel.Anonymous, "delete", Route = null)] HttpRequest req, ILogger log) { CosmosRepo cosmosRepo = new CosmosRepo(log); IEnumerable <Plan> plans = await cosmosRepo.GetItemsAsync <Plan>("select * from c", null); log.LogInformation($"Total plans to delete, {plans.Count()}"); //Update status to Available BulkProcessData dataToDelete = new BulkProcessData(); dataToDelete.ItemData = new List <ItemData>(); foreach (Plan plan in plans) { dataToDelete.ItemData.Add(new ItemData { Item = new MemoryStream(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(plan))), // JsonConvert.SerializeObject(s), ItemId = plan.id, PartitionKey = plan.__partitionKey }); } dataToDelete.Operation = Operation.DELETE; await cosmosRepo.BulkProcessData(dataToDelete); string responseMessage = $"Total plans to delete, {plans.Count()}"; log.LogInformation(responseMessage); return(new OkObjectResult(responseMessage)); }
public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequest req, ILogger log) { CosmosRepo cosmosRepo = new CosmosRepo(log); List <Plan> plans = CreateItems(); BulkProcessData dataToImport = new BulkProcessData(); dataToImport.ItemData = new List <ItemData>(); foreach (Plan plan in plans) { dataToImport.ItemData.Add(new ItemData { Item = new MemoryStream(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(plan))), // JsonConvert.SerializeObject(s), ItemId = plan.id, PartitionKey = plan.__partitionKey }); } dataToImport.Operation = Operation.IMPORT; await cosmosRepo.BulkProcessData(dataToImport); string responseMessage = $"Total Non available plans count, {plans.Where(m=>m.Status!="AVAILABLE").Count()}"; log.LogInformation(responseMessage); return(new OkObjectResult(responseMessage)); }