BotSharp/src/Infrastructure/BotSharp.Core/Conversations/Services/ConversationService.UpdateBreakpoint.cs
2024-03-24 08:56:21 -05:00

28 lines
821 B
C#

namespace BotSharp.Core.Conversations.Services;
public partial class ConversationService : IConversationService
{
public async Task UpdateBreakpoint(bool resetStates = false)
{
var db = _services.GetRequiredService<IBotSharpRepository>();
db.UpdateConversationBreakpoint(_conversationId, DateTime.UtcNow);
// Reset states
if (resetStates)
{
var states = _services.GetRequiredService<IConversationStateService>();
states.CleanStates();
}
var hooks = _services.GetServices<IConversationHook>()
.OrderBy(x => x.Priority)
.ToList();
// Before executing functions
foreach (var hook in hooks)
{
await hook.OnBreakpointUpdated(_conversationId, resetStates);
}
}
}