microsoft/teams.net

Public

mirrored fromhttps://github.com/microsoft/teams.netAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
copilot/move-activity-classes-to-core-again

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

core/src/Microsoft.Bot.Core.Compat/CompatActivity.cs

30lines · modecode

1// Copyright (c) Microsoft Corporation.
2// Licensed under the MIT License.
3
4using System.Text;
5
6using Microsoft.Bot.Builder.Integration.AspNet.Core.Handlers;
7using Microsoft.Bot.Core.Schema;
8using Microsoft.Bot.Schema;
9
10using Newtonsoft.Json;
11
12namespace Microsoft.Bot.Core.Compat;
13
14internal static class CompatActivity
15{
16 public static Activity ToCompatActivity(this CoreActivity activity)
17 {
18 using JsonTextReader reader = new(new StringReader(activity.ToJson()));
19 return BotMessageHandlerBase.BotMessageSerializer.Deserialize<Activity>(reader)!;
20 }
21
22 public static CoreActivity FromCompatActivity(this Activity activity)
23 {
24 StringBuilder sb = new();
25 using StringWriter stringWriter = new(sb);
26 using JsonTextWriter json = new(stringWriter);
27 BotMessageHandlerBase.BotMessageSerializer.Serialize(json, activity);
28 return CoreActivity.FromJsonString(sb.ToString());
29 }
30}
31