C # MS команды бот не может отрисовать с вводом даты - PullRequest
0 голосов
/ 06 октября 2019

Я столкнулся с проблемой «date» с ботом в TEAMS. Значение даты не может правильно отображаться в LeaveRequest (). Тем не менее, тот же бот отлично работает в Bot Emulator.

Ниже приведен мой пример кода. Как исправить (или обойти) эту проблему?

Выберите дату из средства выбора даты и отправьте enter image description here

Система не отображает значение первого поля. enter image description here

    public class EchoBot
    {
        public static Attachment LeaveRequest()
        {
            AdaptiveSchemaVersion schemaVersion = new AdaptiveSchemaVersion(1, 0);
            AdaptiveCard card = new AdaptiveCard(schemaVersion);
            card.Body.Add(new AdaptiveTextBlock()
            {
                Text = "Enter new Date",
                Size = AdaptiveTextSize.Large,
                Weight = AdaptiveTextWeight.Bolder
            });
            AdaptiveDateInput fromDate = new AdaptiveDateInput()
            {
                Id = "FromDate",
                Placeholder = "From Date"
            };
            card.Body.Add(fromDate);
            AdaptiveTextInput toDate = new AdaptiveTextInput()
            {
                Id = "ToDate",
                Placeholder = "To Date",
                Value = DateTime.Today.ToUniversalTime().ToString("u")
            };
            card.Body.Add(toDate);
            card.Actions.Add(new AdaptiveSubmitAction()
            {
                Title = "Submit"
            });
            Attachment cardAttachment = new Attachment()
            {
                ContentType = AdaptiveCard.ContentType,
                Content = card
            };
            return cardAttachment;
        }
    }

    public class RootDialog : IDialog<object>
    {
        public async Task StartAsync(IDialogContext context)
        {
            context.Wait(MessageReceivedAsync);
        }
        public virtual async Task MessageReceivedAsync(IDialogContext context, 
        IAwaitable<IMessageActivity> result)
        {
            var activity = await result as Activity;
            Boolean first = true;
            if (activity.Value != null)
            {
                var jObjectValue = activity.Value as JObject;
                var fromDateString = jObjectValue.Value<string>("FromDate");
                var toDateString = jObjectValue.Value<string>("ToDate");

                await context.PostAsync($"from Date Entered: {fromDateString}");
                await context.PostAsync($"to Date Entered: {toDateString}");
                first = false;
            }
            if (first)
            {
                var reply = activity.CreateReply();
                var card = EchoBot.LeaveRequest();
                var msg = context.MakeMessage();
                msg.Attachments.Add(card);
                await context.PostAsync(msg);
            }
        }
    }

1 Ответ

0 голосов
/ 07 октября 2019

Спасибо, что обратились !! Это известная проблема. У нас есть ошибка в этом, и мы работаем над ее исправлением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...