/// <summary> /// Saves the dialog function generation condition /// </summary> /// <param name="projectId">Project Id</param> /// <param name="dialogFunctionGenerationCondition">Dialog function generation condition</param> /// <returns>Task</returns> public async Task SaveDialogFunctionGenerationCondition(string projectId, DialogFunctionGenerationConditionCollection dialogFunctionGenerationCondition) { bool isNew = true; DialogFunctionGenerationConditionCollection existingCondition = await GetDialogFunctionGenerationConditions(projectId); if (existingCondition != null) { dialogFunctionGenerationCondition.Id = existingCondition.Id; isNew = false; } else { dialogFunctionGenerationCondition.Id = Guid.NewGuid().ToString(); } dialogFunctionGenerationCondition.ProjectId = projectId; if (isNew) { await _DialogFunctionGenerationConditionCollection.InsertOneAsync(dialogFunctionGenerationCondition); } else { await _DialogFunctionGenerationConditionCollection.ReplaceOneAsync(s => s.Id == dialogFunctionGenerationCondition.Id, dialogFunctionGenerationCondition); } }
/// <summary> /// Returns the dialog node function generation conditions /// </summary> /// <param name="projectId">Project Id</param> /// <returns>Dialog node function generation condition collection</returns> public async Task <DialogFunctionGenerationConditionCollection> GetDialogFunctionGenerationConditions(string projectId) { DialogFunctionGenerationConditionCollection existingCollection = await _dialogFunctionConditionDbAccess.GetDialogFunctionGenerationConditions(projectId); if (existingCollection != null) { return(existingCollection); } string conditionConfig = await LoadDefaultTemplateCode(); DialogFunctionGenerationConditionCollection collection = JsonConvert.DeserializeObject <DialogFunctionGenerationConditionCollection>(conditionConfig); return(collection); }
/// <summary> /// Returns the dialog node function generation conditions /// </summary> /// <param name="projectId">Project Id</param> /// <returns>Dialog node function generation condition collection</returns> public async Task <DialogFunctionGenerationConditionCollection> GetDialogFunctionGenerationConditions(string projectId) { DialogFunctionGenerationConditionCollection existingCollection = await _dialogFunctionConditionDbAccess.GetDialogFunctionGenerationConditions(projectId); if (existingCollection != null) { return(existingCollection); } JsonSerializerOptions jsonOptions = new JsonSerializerOptions(); jsonOptions.Converters.Add(new JsonStringEnumConverter()); string conditionConfig = await LoadDefaultTemplateCode(); DialogFunctionGenerationConditionCollection collection = JsonSerializer.Deserialize <DialogFunctionGenerationConditionCollection>(conditionConfig, jsonOptions); return(collection); }
/// <summary> /// Returns the dialog node function generation conditions /// </summary> /// <param name="projectId">Project Id</param> /// <returns>Dialog node function generation condition collection</returns> public async Task <DialogFunctionGenerationConditionCollection> GetDialogFunctionGenerationConditions(string projectId) { DialogFunctionGenerationConditionCollection generationCondition = await _DialogFunctionGenerationConditionCollection.Find(t => t.ProjectId == projectId).FirstOrDefaultAsync(); return(generationCondition); }