public GetTypeInfoResponse[] GetTypeInfo(string databaseName) { var types = this.GetTypes(databaseName); return(types.Select(type => type.Dispatcher.Invoke(() => { var typeInfo = type.TypeInfo; return GetTypeInfoResponse.ConvertFrom(typeInfo); })).ToArray()); }
public GetTypeInfoResponse GetTypeInfo(string databaseName, string typeName) { var type = this.GetType(databaseName, typeName); return(type.Dispatcher.Invoke(() => { var typeInfo = type.TypeInfo; return GetTypeInfoResponse.ConvertFrom(typeInfo); })); }
public GetTypeInfoResponse[] GetTypeInfoByTypeName(string databaseName, [FromBody] GetTypeInfoByTypeNameRequest request) { var types = this.GetTypes(databaseName); var intersectTypes = types.Select(type => type.Dispatcher.Invoke(() => type.Name)) .Intersect(request.TypeNames, StringComparer.OrdinalIgnoreCase); return(intersectTypes.Select(typeName => { var type = types.First(o => o.Dispatcher.Invoke(() => o.Name == typeName)); var typeInfo = type.Dispatcher.Invoke(() => type.TypeInfo); return GetTypeInfoResponse.ConvertFrom(typeInfo); }).ToArray()); }