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("")); }