microsoft/teams.net

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
22df127116ef02cc5a31f714736cc25de03d7f9a

Branches

Tags

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

Clone

HTTPS

Download ZIP

Samples/Samples.Lights/State.cs

33lines · modepreview

using Microsoft.Teams.AI;
using Microsoft.Teams.Api.Activities;
using Microsoft.Teams.Apps;

namespace Samples.Lights;

public class State
{
    public bool Status = false;
    public IList<IMessage> Messages = [];

    public static State From(IContext<IActivity> context)
    {
        return From<IActivity>(context);
    }

    public static State From<TActivity>(IContext<TActivity> context) where TActivity : IActivity
    {
        var key = $"{context.Activity.Conversation.Id}.{context.Activity.From.Id}";
        return (State?)context.Storage.Get(key) ?? new();
    }

    public void Save(IContext<IActivity> context)
    {
        Save<IActivity>(context);
    }

    public void Save<TActivity>(IContext<TActivity> context) where TActivity : IActivity
    {
        var key = $"{context.Activity.Conversation.Id}.{context.Activity.From.Id}";
        context.Storage.Set(key, this);
    }
}