public ComDataContext(object globalContext, Assembly mappingsAssembly) { this.globalContext = new GlobalContext(globalContext); mappingSource = MappingSource.Map(this.globalContext, mappingsAssembly); comObjectMapper = new ComObjectMapper(mappingSource, this.globalContext); queryProvider = RelinqHelpers.CreateQueryProvider(mappingSource.TypeRegistry, Execute); parametersConverter = new ParametersConverter(comObjectMapper, this.globalContext); metadataAccessor = new MetadataAccessor(mappingSource, this.globalContext); }
/// <summary> /// Creates a Linq Provider to build and execute requests to JIRA. /// </summary> /// <typeparam name="TIssue">Type of queryable issues. Has to implement <c>SimpleJira.Interface.Types.JiraIssue</c></typeparam> /// <returns> /// Queryable. /// </returns> public IQueryable <TIssue> GetIssues <TIssue>() where TIssue : JiraIssue { var stopwatch = loggingSettings.HasValue && loggingSettings.Value.Level <= LogLevel.Trace ? Stopwatch.StartNew() : null; var queryProvider = RelinqHelpers.CreateQueryProvider(metadataProvider, query => Execute(query, stopwatch)); var scope = Scope.Get <TIssue>(); return(scope.Filter(new RelinqQueryable <TIssue>(queryProvider))); }
protected IQueryable <T> SourceForCount <T>(string sourceName = null) { var queryProvider = RelinqHelpers.CreateQueryProvider(new TypeRegistry(typeof(Контрагенты).Assembly), delegate(BuiltQuery query) { lastQuery = query; return(new int[1]); }); return(new RelinqQueryable <T>(queryProvider, sourceName)); }
private IQueryable <T> Source <T>() { var queryProvider = RelinqHelpers.CreateQueryProvider(new JiraMetadataProvider(new[] { typeof(T) }), delegate(BuiltQuery query) { lastQuery = query; return(new T[0]); }); return(new RelinqQueryable <T>(queryProvider)); }