public static async Task <int> getNextCatNumber(CloudTable tabCats) { mainCatData MCD = new mainCatData(); TableOperation query = TableOperation.Retrieve <mainCatData>("mainCatData", "count"); TableResult tabRes = await tabCats.ExecuteAsync(query); if (tabRes.Result != null) { MCD = (mainCatData)tabRes.Result; } MCD.mainCatCount++; TableOperation writeBack = TableOperation.InsertOrReplace(MCD); await tabCats.ExecuteAsync(writeBack); return(MCD.mainCatCount); }
public static async Task <IActionResult> createCategBulk( [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req, //Offenbar bekommt die Funktion automatisch ein korrekt eingerichtetes Objekt für die Tabelle mitgegeben [Table("categorization")] CloudTable tabCats, ILogger log) { List <bulkCatData> allBCD; //Bulk data - array of objects with name, langu, desc as attributes string requestBody = await new StreamReader(req.Body).ReadToEndAsync(); allBCD = JsonConvert.DeserializeObject <List <bulkCatData> >(requestBody); mainCatData MCD = new mainCatData(); TableOperation query = TableOperation.Retrieve <mainCatData>("mainCatData", "count"); TableResult tabRes = await tabCats.ExecuteAsync(query); if (tabRes.Result != null) { MCD = (mainCatData)tabRes.Result; } lastBulkCat = MCD.mainCatCount; bulkTO = new TableBatchOperation(); foreach (bulkCatData oneBCD in allBCD) { await intCreateCateg(tabCats, oneBCD.n, oneBCD.l, oneBCD.d, true); } MCD.mainCatCount = lastBulkCat; TableOperation writeBack = TableOperation.InsertOrReplace(MCD); var dumRet = tabCats.ExecuteAsync(writeBack); if (bulkTO.Count > 0) { await tabCats.ExecuteBatchAsync(bulkTO); } bulkTO = null; return(new OkObjectResult("")); }