public static Task <TInsertAsync2Key> InsertAsync <TElement, TInsertAsync2Key>(this QueryExpressionBuilder.xSelect <TInsertAsync2Key, TElement> source, TElement value) { //Console.WriteLine("enter InsertAsync"); // X:\jsc.svn\examples\javascript\LINQ\test\auto\TestSelect\TestXMySQL\Program.cs // X:\jsc.svn\examples\javascript\LINQ\test\auto\TestSelect\TestWebInsert\Application.cs var z = new TaskCompletionSource <TInsertAsync2Key>(); // was it manually set? //QueryExpressionBuilder.WithConnectionAsync( QueryExpressionBuilder.WithConnection( (IDbConnection cc) => { InsertAsync(source, cc, value).ContinueWith( task => { //Console.WriteLine("after InsertAsync"); z.SetResult(task.Result); } ); } ); //Console.WriteLine("exit InsertAsync"); return(z.Task); }
// X:\jsc.svn\core\ScriptCoreLib.Extensions\ScriptCoreLib.Extensions\Query\Experimental\QueryExpressionBuilder.IDbConnection.Count.cs // X:\jsc.svn\examples\javascript\Test\TestSQLiteConnection\TestSQLiteConnection\Application.cs // X:\jsc.svn\core\ScriptCoreLib.Extensions\ScriptCoreLib.Extensions\Query\Experimental\QueryExpressionBuilder.IDbConnection.Insert.cs // X:\jsc.svn\examples\javascript\LINQ\test\auto\TestSelect\TestXMySQL\Program.cs // X:\jsc.svn\examples\javascript\LINQ\ClickCounter\ClickCounter\Application.cs public static Task <long> CountAsync <TElement>(this IQueryStrategy <TElement> source) { var z = new TaskCompletionSource <long>(); // was it manually set? QueryExpressionBuilder.WithConnection( (IDbConnection cc) => { CountAsync(source, cc).ContinueWithResult(z.SetResult); } ); return(z.Task); }
// will this work for jvm yet? // https://sites.google.com/a/jsc-solutions.net/work/knowledge-base/15-dualvr/20150911/mysql public static Task <IEnumerable <TElement> > AsEnumerableAsync <TElement>(this IQueryStrategy <TElement> source) { // X:\jsc.svn\examples\javascript\LINQ\LINQWebCamAvatars\LINQWebCamAvatars\Application.cs var z = new TaskCompletionSource <IEnumerable <TElement> >(); // was it manually set? QueryExpressionBuilder.WithConnection( (IDbConnection cc) => { AsEnumerableAsync(source, cc).ContinueWithResult(z.SetResult); } ); return(z.Task); }
public static Task <TElement> FirstOrDefaultAsync <TElement>(this IQueryStrategy <TElement> source) { // X:\jsc.svn\examples\javascript\LINQ\ClickCounter\ClickCounter\Application.cs var z = new TaskCompletionSource <TElement>(); // was it manually set? QueryExpressionBuilder.WithConnection( (IDbConnection cc) => { FirstOrDefaultAsync(source, cc).ContinueWithResult(z.SetResult); } ); return(z.Task); }
// to be called by the xlsx generated types inside ctor? public static IQueryStrategy <TElement> Create <TElement>(this IQueryStrategy <TElement> source) { // no need to call if database already has it, yet how would we know if we are stateless? // X:\jsc.svn\examples\javascript\LINQ\test\auto\TestSelect\TestSelectMath\Program.cs // was it manually set? QueryExpressionBuilder.WithConnection( (IDbConnection cc) => { Create(source, cc); //.ContinueWith(z.SetResult); } ); return(source); }
// https://sites.google.com/a/jsc-solutions.net/work/knowledge-base/15-dualvr/20150911/mysql // ! to track down jvm issues, lets name generics with method name public static Task <TInsertAsync1Key[]> InsertAsync <TElement, TInsertAsync1Key>(this QueryExpressionBuilder.xSelect <TInsertAsync1Key, TElement> source, params TElement[] collection) { // tested by? // used by // X:\jsc.svn\examples\javascript\LINQ\test\auto\TestSelect\TestSelectAverage\Program.cs // x:\jsc.svn\examples\javascript\linq\test\auto\testselect\testweborderbythengroupby\application.cs //Console.WriteLine("enter InsertAsync"); // X:\jsc.svn\examples\javascript\LINQ\test\auto\TestSelect\TestXMySQL\Program.cs var v = new __InsertAsync <TElement, TInsertAsync1Key> { source = source, collection = collection }; //v.Invoke(); QueryExpressionBuilder.WithConnection(v.Invoke); return(v.z.Task); }
// X:\jsc.svn\examples\javascript\Test\TestSQLiteConnection\TestSQLiteConnection\Application.cs // X:\jsc.svn\core\ScriptCoreLib.Extensions\ScriptCoreLib.Extensions\Query\Experimental\QueryExpressionBuilder.IDbConnection.Insert.cs public static Task <TKey[]> InsertAsync <TElement, TKey>(this QueryExpressionBuilder.xSelect <TKey, TElement> source, params TElement[] collection) { // used by // X:\jsc.svn\examples\javascript\LINQ\test\auto\TestSelect\TestSelectAverage\Program.cs // x:\jsc.svn\examples\javascript\linq\test\auto\testselect\testweborderbythengroupby\application.cs //Console.WriteLine("enter InsertAsync"); // X:\jsc.svn\examples\javascript\LINQ\test\auto\TestSelect\TestXMySQL\Program.cs var z = new TaskCompletionSource <TKey[]>(); // was it manually set? //QueryExpressionBuilder.WithConnectionAsync( QueryExpressionBuilder.WithConnection( (IDbConnection cc) => { var i = from c in collection select InsertAsync(source, cc, c); //Task.Factory.ContinueWhenAll( // X:\jsc.svn\core\ScriptCoreLib\JavaScript\BCLImplementation\System\Threading\Tasks\Task\Task.WhenAll.cs // X:\jsc.svn\examples\java\hybrid\test\JVMCLRWhenAll\JVMCLRWhenAll\Program.cs Task.WhenAll(i.ToArray()).ContinueWith( delegate { //Console.WriteLine("after InsertAsync"); z.SetResult( i.Select(x => x.Result).ToArray() ); } ); } ); //Console.WriteLine("exit InsertAsync"); return(z.Task); }
// x:\jsc.svn\core\scriptcorelib.extensions\scriptcorelib.extensions\query\experimental\queryexpressionbuilder.sum.cs public static Task <long> SumAsync(this IQueryStrategy <long> source) { Console.WriteLine("enter SumAsync"); // tested by // X:\jsc.svn\examples\javascript\LINQ\test\auto\TestSelect\TestWebSumLong\Application.cs var z = new TaskCompletionSource <long>(); //QueryExpressionBuilder.WithConnectionAsync( QueryExpressionBuilder.WithConnection( async cc => { Console.WriteLine("enter WithConnection SumAsync"); var xDbCommand = QueryExpressionBuilder.GetScalarCommand( source, cc: cc, Operand: QueryExpressionBuilder.xReferencesOfLong.SumOfLongReference.Method ); Console.WriteLine("enter WithConnection SumAsync before ExecuteScalarAsync"); // will WithConnection actually wait or terminate? // never returns? var __value = await xDbCommand.ExecuteScalarAsync(); Console.WriteLine("enter WithConnection SumAsync after ExecuteScalarAsync " + new { __value }); z.SetResult( (long)__value ); } ); return(z.Task); }
// X:\jsc.svn\core\ScriptCoreLib.Async\ScriptCoreLib.Async\Query\Experimental\QueryExpressionBuilderAsync.SumAsync.cs public static long Sum(this IQueryStrategy <long> source) { var value = default(long); // tested by // X:\jsc.svn\examples\javascript\LINQ\test\auto\TestSelect\TestSQLiteCLRSumLong\Program.cs QueryExpressionBuilder.WithConnection( cc => { var xDbCommand = QueryExpressionBuilder.GetScalarCommand( source, cc: cc, Operand: QueryExpressionBuilder.xReferencesOfLong.SumOfLongReference.Method ); var __value = xDbCommand.ExecuteScalar(); value = (long)__value; } ); return(value); }