public static async Task <IActionResult> intCreateWord(CloudTable tabCats, string i_wordName, bool bulk = false)
        {
            string tmpWID = "";
            //Do we know this word already?
            TableResult tabRes = new TableResult();

            tabRes.Result = null;
            int wordIndex = -1;

            if (!bulk)
            {
                TableOperation query = TableOperation.Retrieve <WordN2I>(beqDef.partWordN2I, i_wordName);
                tabRes = await tabCats.ExecuteAsync(query);
            }
            else
            {
                wordIndex = tmpAllW2NI.IndexOf(i_wordName);
            }
            if (tabRes.Result == null && wordIndex == -1)
            {
                if (!bulk)
                {
                    tmpWID = 'W' + getNextWordNumber(tabCats).Result.ToString("d6");
                }
                else
                {
                    tmpWID = 'W' + (++lastBulkWord).ToString("d6");
                }

                WordN2I newWordN2I = new WordN2I();
                newWordN2I.setName(i_wordName);
                newWordN2I.setWID(tmpWID);

                WordI2N newWordI2N = new WordI2N();
                newWordI2N.setName(i_wordName);
                newWordI2N.setWID(tmpWID);

                if (!bulk)
                {
                    var dummyReturn = tabCats.ExecuteAsync(TableOperation.InsertOrReplace(newWordN2I));
                    await tabCats.ExecuteAsync(TableOperation.InsertOrReplace(newWordI2N));
                }
                else
                {
                    bulkTO.Add(TableOperation.InsertOrReplace(newWordN2I));
                    bulkTO2.Add(TableOperation.InsertOrReplace(newWordI2N));
                }
            }
            return(new OkObjectResult(""));
        }
        public static async Task <IActionResult> intCatWord(CloudTable tabCats, string i_WID, string i_KID, string i_word, string i_cat, bool bulk = false)
        {
            //ID anhand vollständigem Bezeichner nachlesen
            if (i_WID == "")
            {
                TableOperation query  = TableOperation.Retrieve <WordN2I>(beqDef.partWordN2I, i_word);
                TableResult    tabRes = await tabCats.ExecuteAsync(query);

                WordN2I tmpWN2I = (WordN2I)tabRes.Result;
                tmpWN2I = tmpWN2I ?? new WordN2I();
                i_WID   = tmpWN2I.WID;
            }

            if (i_KID == "")
            {
                TableOperation query  = TableOperation.Retrieve <CatN2I>(beqDef.partCatN2I, i_cat);
                TableResult    tabRes = await tabCats.ExecuteAsync(query);

                CatN2I tmpCN2I = (CatN2I)tabRes.Result;
                tmpCN2I = tmpCN2I ?? new CatN2I();
                i_KID   = tmpCN2I.KID;
            }

            if (i_WID != "" && i_KID != "")
            {
                TableOperation query  = TableOperation.Retrieve <Word2Cat>(beqDef.partWord2Cat, i_WID);
                TableResult    tabRes = await tabCats.ExecuteAsync(query);

                Word2Cat newW2C = (Word2Cat)tabRes.Result;
                newW2C = newW2C ?? new Word2Cat();
                newW2C.reload();

                if (newW2C.catList.IndexOf(i_KID) < 0)
                {
                    newW2C.setWord(i_WID);
                    newW2C.addCat(i_KID);

                    Task <TableResult> dummyReturn;
                    if (!bulk)
                    {
                        dummyReturn = tabCats.ExecuteAsync(TableOperation.InsertOrReplace(newW2C));
                    }
                    else
                    {
                        bulkTO.Add(TableOperation.InsertOrReplace(newW2C));
                    }
                }

                query  = TableOperation.Retrieve <Word2Cat>(beqDef.partCat2Words, i_KID);
                tabRes = await tabCats.ExecuteAsync(query);

                Cat2Word newC2W = (Cat2Word)tabRes.Result;
                newC2W = newC2W ?? new Cat2Word();
                newC2W.reload();

                if (newC2W.wordList.IndexOf(i_WID) < 0)
                {
                    newC2W.setCat(i_KID);
                    newC2W.addWord(i_WID);

                    if (!bulk)
                    {
                        await tabCats.ExecuteAsync(TableOperation.InsertOrReplace(newC2W));
                    }
                    else
                    {
                        bulkTO2.Add(TableOperation.InsertOrReplace(newC2W));
                    }
                }
            }
            return(new OkObjectResult(""));
        }