Как я могу получить предыдущее состояние пользователя из базы данных космоса?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Гость
 Как я могу получить предыдущее состояние пользователя из базы данных космоса?

Сообщение Гость »


Я разрабатываю бота с использованием Microsoft Bot Framework SDK, и мне нужно получить старое состояние пользователя из базы данных для нового пользователя. Пользователям будет звонить бот, и при вызове их информация будет сохраняться в базе данных космоса. Когда они перезвонят, эту информацию нужно будет извлечь. Я думал задать вопрос по номеру телефона; но как я могу восстановить UserState, чтобы он имел все свойства, которые были при первом исходящем вызове?

Вот как хранятся исходящие данные:

DialoutEvent evt; пытаться { evt = TurnContext.Activity.GetChannelData(); } поймать (исключение) { // не событие дозвона вернуть ложь; } если (evt.dialoutMetadata == ноль) { // не событие дозвона вернуть ложь; } // создаем клиент GHL с конечными точками для установки и получения ключей GHLClient ghl = ожидайте GHLClient.InitializeFromDB(http, evt.dialoutMetadata.location_id, config.GetValue("GHLAccessEndpt"), config.GetValue("GHLRefreshEndpt"), Токен отмены); если (гл == ноль) { ждут UnauthorizedDisconnect (turnContext, cancelToken); вернуть ложь; } // сохраняем контактные данные и интеграцию с GHL var contactAccessor = userState.CreateProperty("contactDetails"); var confStateAccessor = userState.CreateProperty("detectionState"); var ghlUser = userState.CreateProperty("ghl"); DateTime apptDT = ConvertToDateTime(evt.dialoutMetadata.appt_date, evt.dialoutMetadata.appt_time); ContactDetails contactDetails = new(){ первое_имя = evt.dialoutMetadata.first_name, последнее_имя = evt.dialoutMetadata.last_name, телефон = evt.callee, contact_id = evt.dialoutMetadata.contact_id, адрес = evt.dialoutMetadata.адрес, request_type = evt.dialoutMetadata.request_type.Trim().ToLower(), апптДТ = апптДТ, appt_date = evt.dialoutMetadata.appt_date, appt_time = evt.dialoutMetadata.appt_time, Calendar_id = evt.dialoutMetadata.calendar_id, часовой пояс = evt.dialoutMetadata.utc_offset }; ждут ghlUser.SetAsync(turnContext, ghl, cancelToken); ждут confStateAccessor.SetAsync(turnContext, new ConfirmationStates(), cancelToken); ждут contactAccessor.SetAsync(turnContext, contactDetails, cancelToken); ждут userState.SaveChangesAsync(turnContext, true, cancelToken); Я думал о создании функции Azure для управления доступом к базе данных, но как лучше всего это сделать?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»