internal Client(IDatabase db, Assembly assembly, TCursor debugInstance) { _csharpCompiler = new CSharpCompiler(); _luaHandler = new LuaHandler(db); _delegateReader = DelegateReader.CreateCachedWithDefaultAssemblyProvider(); DebugInstance = debugInstance; Database = db; }
// Version using a delegate (for one-time mappers) public IEnumerable <T> Select <T>(String statement, DelegateReader <T> readMapper) { using (IDbCommand command = m_connection.CreateCommand()) { command.CommandText = statement; using (IDataReader reader = command.ExecuteReader()) { while (reader.Read()) { yield return(readMapper(reader)); } } } }
public void ShouldReturnTreeOfDelegateWithInternalComplexTypes_NotReferenced() { var reader = DelegateReader.CreateWithSetOfAssemblies(AssemblySet.Core, false, false); var tree = reader.Read((MyDel2)(x => { if (x.Value >= 0 && x.Value < 5) { return(1); } else if (x.Value >= 5 && x.Value < 10) { return(2); } return(3); })); }
public void ShouldReturnTreeOfDelegateWithExternalComplexTypes() { var reader = DelegateReader.CreateWithDefaultAssemblyProvider(); var tree = reader.Read((MyDel3)(x => { if (x.Value >= 0 && x.Value < 5) { return(1); } else if (x.Value >= 5 && x.Value < 10) { return(2); } return(3); })); tree.Should().NotBeNull(); tree.FirstMethodOrDefault().Should().NotBeNull(); tree.Warnings().Count.Should().Be(0); }
public void ShouldReturnTreeOfSimpleDelegate() { var reader = DelegateReader.CreateWithDefaultAssemblyProvider(); var tree = reader.Read((MyDel1)(x => { if (x >= 0 && x < 5) { return(1); } else if (x >= 5 && x < 10) { return(2); } return(3); })); tree.Should().NotBeNull(); tree.FirstMethodOrDefault().Should().NotBeNull(); tree.Warnings().Count.Should().Be(0); }
public void ShouldReturnTreeOfDelegateWithInternalComplexTypes_NotReferenced_AddOnPrepare() { var reader = DelegateReader.CreateWithSetOfAssemblies(AssemblySet.Core, true, false); var tree = reader.Read((MyDel2)(x => { if (x.Value >= 0 && x.Value < 5) { return(1); } else if (x.Value >= 5 && x.Value < 10) { return(2); } return(3); })); tree.Should().NotBeNull(); tree.FirstMethodOrDefault().Should().NotBeNull(); tree.Warnings().Count.Should().Be(0); }
public void ShouldReturnTreeOfDelegateWithExternalComplexTypes_Referenced() { var reader = DelegateReader.CreateWithSetOfAssemblies(GetCoreAssemblies().Concat(new[] { typeof(ExternalFoo).Assembly }).ToList(), false, false); var tree = reader.Read((MyDel3)(x => { if (x.Value >= 0 && x.Value < 5) { return(1); } else if (x.Value >= 5 && x.Value < 10) { return(2); } return(3); })); tree.Should().NotBeNull(); tree.FirstMethodOrDefault().Should().NotBeNull(); tree.Warnings().Count.Should().Be(0); }
/*---------------------------------------------------------------------------- * %%Function: DoGenericQueryDelegateRead * %%Qualified: UpcSvc.UpcSvc.DoGenericQueryDelegateRead<T> * %%Contact: rlittle * * Do a generic query and return the result for type T * ----------------------------------------------------------------------------*/ public static T DoGenericQueryDelegateRead <T>(string sQuery, DelegateReader <T> delegateReader, DelegateFromUSR <T> delegateFromUsr) { LocalSqlHolder lsh = null; CorrelationID crid = new CorrelationID(); SR sr = SR.Failed("unknown"); try { lsh = new LocalSqlHolder(null, crid, SqlConnectionStatic); string sCmd = sQuery; if (delegateReader == null) { // just execute as a command return(delegateFromUsr(USR.FromSR(TCore.Sql.ExecuteNonQuery(lsh, sCmd, SqlConnectionStatic)))); } else { SqlReader sqlr = new SqlReader(lsh); try { sr = sqlr.ExecuteQuery(sQuery, SqlConnectionStatic); sr.CorrelationID = crid; if (sr.Succeeded) { T t = default(T); bool fOnce = false; while (sqlr.Reader.Read()) { delegateReader(sqlr, crid, ref t); fOnce = true; } if (!fOnce) { return(delegateFromUsr(USR.FromSR(SR.FailedCorrelate("scan code not found", crid)))); } return(t); } } catch (Exception e) { sqlr.Close(); return(delegateFromUsr(USR.FromSR(SR.FailedCorrelate(e, crid)))); } } } catch (Exception e) { return(delegateFromUsr(USR.FromSR(SR.FailedCorrelate(e, crid)))); } finally { lsh?.Close(); } { USR usr = USR.FromSR(sr); usr.Reason += $"( fExecuteQuery returned false) (static={SqlConnectionStatic})"; return(delegateFromUsr(usr)); } }
public static void ClassSetup(TestContext ctx) { _delegateReader = DelegateReader.CreateWithDefaultAssemblyProvider(); _csharpCompiler = new CSharpCompiler(); }
public static void ClassSetup(TestContext ctx) { _delegateReader = DelegateReader.CreateWithDefaultAssemblyProvider(); _csharpCompiler = new CSharpCompiler(); _csharpCompiler.MainResolver.AddResolver(typeof(Foo <>), typeof(FooProxy <>)); }