public async Task <bool> LoadChatFlowAsync(string projectId) { if (ChatFlowProjects != null && ChatFlowProjects.Any(x => x._id == projectId)) { var chatFlowResp = await Hit <DataResponse <ChatFlowPack> >(FetchChatFlowPackAPI.Replace("{projectId}", projectId), true); if (chatFlowResp.Status) { ChatFlow = chatFlowResp.Data; ChatFlowBuilder.Build(ChatFlow); return(true); } } return(false); }
public (bool, string) LoadChatFlowProject() { try { if (!string.IsNullOrWhiteSpace(ProjectFilePath)) { var rawProjectJson = File.ReadAllText(ProjectFilePath); ChatFlow = BsonSerializer.Deserialize <ChatFlowPack>(rawProjectJson); } else { var firstNode = new ChatNode { Name = "New Node" }; firstNode.Id = ObjectId.GenerateNewId().ToString(); ChatFlow = new ChatFlowPack { ChatNodes = new List <ChatNode>(new[] { firstNode }), ChatContent = new List <Models.BaseContent>(), NodeLocations = new Dictionary <string, Models.LayoutPoint> { { firstNode.Id, new Models.LayoutPoint { X = 500, Y = 500 } } } }; } LastChatFlowSavedHash = Utilities.GenerateHash(ChatFlow.ToJson()); ChatFlowBuilder.Build(ChatFlow); return(true, ""); } catch (Exception ex) { return(false, ex.Message); } }
public List <ChatNode> GetCompiledProject() { return(ChatFlowBuilder.Build(ChatFlow)); }