public static ModuleValidationEventAgrs CalltoValidate(Object entity, ApiActionType action) { GetExtensions(); var e = new ModuleValidationEventAgrs(entity, action); if (_Events.ValidateEntity != null) { _Events.ValidateEntity(e); return(e); } return(e); }
public static ModuleEventAgrs CallActionFinished(Object entity, ApiActionType action) { GetExtensions(); var e = new ModuleEventAgrs(entity, action); if (_Events.EntityProcessed != null) { _Events.EntityProcessed(e); return(e); } return(e); }
public async Task <ICommunicationResult> CallServiceAsync(ApiActionType apiActionType, string payload) { _configurationSettings.DiagnosticLogger.LogInfo($"Performing async service call for {apiActionType}", "HttpCommunicationEngine"); var svcConfig = _configurationSettings.ServiceUris.GetServiceConfig(apiActionType); var uri = string.Format("{0}{1}", _configurationSettings.BaseUrl, svcConfig.ServiceUri); var content = new ByteArrayContent(System.Text.UTF8Encoding.UTF8.GetBytes(payload)); try { using (var httpClient = HttpCommunicationEngine.CreateHttpClient(_configurationSettings.ApiKeys[svcConfig.ApiCategory])) { var httpResult = await httpClient.PostAsync(uri, content); _configurationSettings.DiagnosticLogger.LogInfo($"Async service call for {apiActionType} completed ok.", "HttpCommunicationEngine"); return(new CommunicationResult(httpResult)); } } catch (Exception ex) { _configurationSettings.DiagnosticLogger.LogError(ex, "HttpCommunicationEngine"); return(CommunicationResult.Fail(ex.Message)); } }
public ModuleValidationEventAgrs(Object entity, ApiActionType action) { Entity = entity; Action = action; MessageText = string.Empty; }
public ApiServiceUriFragment GetServiceConfig(ApiActionType apiAction) { return(Services[apiAction]); }
private async Task AnalyseAllAsyncForAction(TextAnalyticAnalysisResults apiResults, ApiActionType apiAction) { if (AnalysisSettings.ActionsToPerform.ContainsKey(apiAction)) { string payload = null; var actions = AnalysisSettings.ActionsToPerform[apiAction]; apiResults.AnalysisSettings.ConfigurationSettings.DiagnosticLogger.LogInfo($"Serialising payload for {apiAction.ToString()}", "AnalyseAll"); if (apiAction == ApiActionType.TextAnalyticsTopics) { payload = (actions as TextAnalyticTopicActionData).ToString(); } else { payload = (actions as TextAnalyticActionData).ToString(); } apiResults.AnalysisSettings.ConfigurationSettings.DiagnosticLogger.LogInfo($"Calling service for {apiAction.ToString()}", "AnalyseAll"); var result = await AnalysisSettings.CommunicationEngine.CallServiceAsync(apiAction, payload); apiResults.AnalysisSettings.ConfigurationSettings.DiagnosticLogger.LogInfo($"Processing results of service call for {apiAction.ToString()}", "AnalyseAll"); switch (apiAction) { case ApiActionType.TextAnalyticsSentiment: apiResults.SetResult(new SentimentAnalysisContext((actions as TextAnalyticActionData), new SentimentResult(result))); break; case ApiActionType.TextAnalyticsKeyphrases: apiResults.SetResult(new KeyPhraseAnalysisContext((actions as TextAnalyticActionData), new KeyPhraseResult(result))); break; case ApiActionType.TextAnalyticsLanguages: apiResults.SetResult(new LanguageAnalysisContext((actions as TextAnalyticActionData), new LanguagesResult(result))); break; case ApiActionType.TextAnalyticsTopics: apiResults.SetResult(new TopicAnalysisContext((actions as TextAnalyticTopicActionData), new TopicResult(result))); break; default: throw new NotSupportedException($"{apiAction.ToString()} not supported yet"); } } }
public TextAnalyticActionDataItem(long id, string textToAnalyse, SupportedLanguageType language, ApiActionType apiType) { Id = id; TextToAnalyse = textToAnalyse; Language = language; ApiType = apiType; }
public void Add(ApiActionType apiType, string textToAnalyse, SupportedLanguageType language = SupportedLanguageType.English) { _itemList.Add(new TextAnalyticActionDataItem(_itemList.Count + 1, textToAnalyse, language, apiType)); }
private static TextAnalyticAnalysisSettings AddTextForAnalysis(this TextAnalyticAnalysisSettings apiAnalysis, string textToAnalyse, ApiActionType actionType) { if (actionType == ApiActionType.TextAnalyticsTopics) { var topicActionData = GetOrCreateActionInstance <TextAnalyticTopicActionData>(apiAnalysis, actionType); topicActionData.Add(textToAnalyse); return(apiAnalysis); } var actionData = GetOrCreateActionInstance <TextAnalyticActionData>(apiAnalysis, actionType); actionData.Add(actionType, textToAnalyse); return(apiAnalysis); }
private static T GetOrCreateActionInstance <T>(TextAnalyticAnalysisSettings apiAnalysis, ApiActionType actionType) where T : class, IApiActionData, new() { if (apiAnalysis.ActionsToPerform.ContainsKey(actionType)) { return(apiAnalysis.ActionsToPerform[actionType] as T); } var data = new T(); apiAnalysis.ActionsToPerform.Add(actionType, data); return(data); }
private async Task AnalyseAllAsyncForAction(EmotionAnalysisResults apiResults, ApiActionType apiAction) { if (AnalysisSettings.ActionsToPerform.ContainsKey(apiAction)) { var actions = AnalysisSettings.ActionsToPerform[apiAction]; apiResults.AnalysisSettings.ConfigurationSettings.DiagnosticLogger.LogInfo($"Serialising payload for {apiAction.ToString()}", "AnalyseAll"); var payload = (actions as EmotionActionData).ToString(); apiResults.AnalysisSettings.ConfigurationSettings.DiagnosticLogger.LogInfo($"Calling service for {apiAction.ToString()}", "AnalyseAll"); var result = await AnalysisSettings.CommunicationEngine.CallServiceAsync(apiAction, payload); apiResults.AnalysisSettings.ConfigurationSettings.DiagnosticLogger.LogInfo($"Processing results for {apiAction.ToString()}", "AnalyseAll"); switch (apiAction) { case ApiActionType.EmotionImageRecognition: apiResults.SetResult(new ImageRecognitionAnalysisContext((actions as EmotionActionData), new ImageRecognitionResult(result))); break; default: throw new NotSupportedException($"{apiAction.ToString()} not supported yet"); } } }