Ejemplo n.º 1
0
        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(""));
        }