public static List <TProperty> GetNodeProperties <TQuery, T, TProperty>(this IExecutionResult executionResult, Expression <Func <TQuery, object> > queryExpression, Expression <Func <T, TProperty> > propertyExpression) { var connectionResult = executionResult.GetConnectionResult(queryExpression); var nodeProperties = new List <TProperty>(); foreach (var connectionResultNode in connectionResult.Edges) { nodeProperties.Add((TProperty)connectionResultNode.Node.GetProperty(propertyExpression.ToPropertyName())); } return(nodeProperties); }
public static List <DateTime?> GetNodeDateTimeProperties <TQuery, T>(this IExecutionResult executionResult, Expression <Func <TQuery, object> > queryExpression, Expression <Func <T, DateTime?> > propertyExpression) { var connectionResult = executionResult.GetConnectionResult(queryExpression); var nodeProperties = new List <DateTime?>(); foreach (var connectionResultNode in connectionResult.Edges) { var dateTimeString = connectionResultNode.Node.GetProperty(propertyExpression.ToPropertyName())?.ToString(); if (dateTimeString == null) { nodeProperties.Add(null); } else { var dateTime = DateTime.Parse(dateTimeString); var utcDateTime = dateTime.ToUniversalTime(); nodeProperties.Add(utcDateTime); } } return(nodeProperties); }