public void AddDatumId(DatumId datumId) { var datumStr = datumId.ToString(); if (_datumIdToCallbackId.ContainsKey(datumStr) || _callbackIdToDatumId.ContainsValue(datumStr)) { return; } var callbackId = _nextCallbackId++; _callbackIdToDatumId.Add(callbackId, datumStr); _datumIdToCallbackId.Add(datumStr, callbackId); }
internal JArray GetSessionsCompletedList(JObject dataFile, DatumId datumId) { return((JArray)dataFile[datumId.ToString()]?[SessionsDoneKey]); }
internal JArray GetOptionsList(JObject dataFile, DatumId datumId) { return((JArray)dataFile[datumId.ToString()]?[_tagsKey]); }
internal JObject SetupDatumEntry(DatumId datumId) { var dataFile = ParseJsonFile(); JObject datumEntry; try { datumEntry = (JObject)dataFile[datumId.ToString()]; } catch (InvalidCastException) { throw new JsonDataOutputException( datumId, "Failure to parse data entry, datum ID already points to a non-object value in the output file." ); } if (datumEntry == null) { datumEntry = new JObject(); dataFile[datumId.ToString()] = datumEntry; } JArray sessionsDoneList; try { sessionsDoneList = (JArray)datumEntry[SessionsDoneKey]; } catch (InvalidCastException) { throw new JsonDataOutputException( datumId, $"Failure to parse data entry, datum ID already has a \"{SessionsDoneKey}\" key " + "(the key the bot intends to use to store which enrichment sessions are completed) " + "pointing to a non-array value in the output file." ); } if (sessionsDoneList == null) { sessionsDoneList = new JArray(); datumEntry[SessionsDoneKey] = sessionsDoneList; } JArray tagList; try { tagList = (JArray)datumEntry[_tagsKey]; } catch (InvalidCastException) { throw new JsonDataOutputException( datumId, $"Failure to parse data entry, datum ID already has a \"{_tagsKey}\" key " + "(the key the bot intends to use to store the output of this enrichment session) " + "pointing to a non-array value in the output file." ); } if (tagList == null) { tagList = new JArray(); datumEntry[_tagsKey] = tagList; } return(dataFile); }
public bool DatumIdHasMessage(DatumId datumId) { var callbackId = _datumIdToCallbackId[datumId.ToString()]; return(_callbackIdToMessageId.ContainsKey(callbackId)); }
public int GetCallbackIdFromDatumId(DatumId datumId) { return(_datumIdToCallbackId[datumId.ToString()]); }