private void ProcessResult <T>(ExecutionResponse <T> result, KieCommandTypeEnum commandType) { if (typeof(T) != typeof(object)) { try { var command = Commands.FirstOrDefault(c => c.Command.CommandType == commandType); var identifier = command?.Command as ICommandOutIdentifier; var outObject = result.Result?.ExecutionResults.Results.SingleOrDefault(e => e.Key == identifier?.OutIdentifier); if (outObject != null) { var item = (JObject)outObject.Value.Value; var first = item.First; if (first is JProperty) { var prop = first as JProperty; var commandObject = command?.Command as ICommandObject; var v = prop.Name.Equals(commandObject?.CommandObject); if (true) { result.SmartSingleResponse = JsonConvert.DeserializeObject <T>(prop.Value.ToString(), new UnixTimestampConverter()); } } } } catch (Exception e) { Console.WriteLine(e); } } }
private async Task <ExecutionResponse <T> > ExecuteAsync <T>(string containerName, KieCommandTypeEnum commandType) { var startDate = DateTime.Now; ExecutionResponse <T> result = await ExecuteCall <T>(containerName); ProcessResult(result, commandType); var span = DateTime.Now - startDate; result.ElapsedTime = (int)span.TotalMilliseconds; return(result); }