private string Table <M>(UiMethodEnum type) { var tableName = string.Empty; if (type != UiMethodEnum.JoinQueryListAsync) { tableName = GetTableName(typeof(M)); } return(tableName); }
private string Table <M>(UiMethodEnum type) { var tableName = string.Empty; if (type != UiMethodEnum.JoinQueryListAsync) { //tableName = GetTableName(typeof(M)); var key = DC.SC.GetKey(typeof(M).FullName, DC.Conn.Database); tableName = DC.SC.GetModelTableName(key); } return(tableName); }
/**********************************************************************************************************/ protected async Task <PagingList <T> > PagingListAsyncHandle <T>(UiMethodEnum sqlType, bool single) { var result = new PagingList <T>(); result.PageIndex = DC.PageIndex.Value; result.PageSize = DC.PageSize.Value; PreExecuteHandle(sqlType); result.TotalCount = await DC.DS.ExecuteScalarAsync <int>(); if (single) { result.Data = await DC.DS.ExecuteReaderSingleColumnAsync <T>(); } else { result.Data = await DC.DS.ExecuteReaderMultiRowAsync <T>(); } return(result); }
/**********************************************************************************************************/ protected void PreExecuteHandle(UiMethodEnum method) { DC.DPH.SetParameter(); DC.Method = method; DC.SqlProvider.GetSQL(); }
protected async Task <PagingList <VM> > PagingListAsyncHandle <M, VM>(int pageIndex, int pageSize, UiMethodEnum sqlType) where VM : class { var result = new PagingList <VM>(); DC.PageIndex = result.PageIndex = pageIndex; DC.PageSize = result.PageSize = pageSize; PreExecuteHandle(sqlType); result.TotalCount = await DC.DS.ExecuteScalarAsync <int>(); result.Data = await DC.DS.ExecuteReaderMultiRowAsync <VM>(); return(result); }
internal List <string> GetSQL <M>(UiMethodEnum type, int?pageIndex = null, int?pageSize = null) { var list = new List <string>(); // switch (type) { case UiMethodEnum.CreateAsync: list.Add($" insert into {Table<M>(type)} {GetColumns()} values {GetValues()} ;"); break; case UiMethodEnum.CreateBatchAsync: list.Add( $" LOCK TABLES {Table<M>(type)} WRITE; " + $" \r\n /*!40000 ALTER TABLE {Table<M>(type)} DISABLE KEYS */; " + $" \r\n insert into {Table<M>(type)} {GetColumns()} \r\n VALUES {GetValues()} ; " + $" \r\n /*!40000 ALTER TABLE {Table<M>(type)} ENABLE KEYS */; " + $" \r\n UNLOCK TABLES; " ); break; case UiMethodEnum.DeleteAsync: list.Add($" delete {From()} {Table<M>(type)} {Wheres()} ; "); break; case UiMethodEnum.UpdateAsync: list.Add($" update {Table<M>(type)} \r\n set {DC.SqlProvider.GetUpdates()} {Wheres()} ;"); break; case UiMethodEnum.QueryFirstOrDefaultAsync: list.Add($"select {Columns()} {From()} {Table<M>(type)} {Wheres()} ; "); break; case UiMethodEnum.JoinQueryFirstOrDefaultAsync: list.Add($" select {Columns()} {From()} {Joins()} {Wheres()} ; "); break; case UiMethodEnum.QueryListAsync: list.Add($"select {Columns()} {From()} {Table<M>(type)} {Wheres()} ; "); break; case UiMethodEnum.JoinQueryListAsync: list.Add($" select {Columns()} {From()} {Joins()} {Wheres()} ; "); break; case UiMethodEnum.QueryPagingListAsync: var wherePart8 = Wheres(); list.Add($"select count(*) {From()} {Table<M>(type)} {wherePart8} ; "); list.Add($"select {Columns()} {From()} {Table<M>(type)} {wherePart8} {GetOrderByPart<M>()} {Limit(pageIndex,pageSize)} ; "); break; case UiMethodEnum.JoinQueryPagingListAsync: var wherePart9 = Wheres(); list.Add($"select count(*) {From()} {Joins()} {wherePart9} ; "); list.Add($"select {Columns()} {From()} {Joins()} {wherePart9} {GetOrderByPart()} {Limit(pageIndex,pageSize)} ; "); break; case UiMethodEnum.QueryAllPagingListAsync: list.Add($"select count(*) {From()} {Table<M>(type)} ; "); list.Add($"select * {From()} {Table<M>(type)} {GetOrderByPart<M>()} {Limit(pageIndex,pageSize)} ; "); break; case UiMethodEnum.QuerySingleValueAsync: list.Add($" select {GetSingleValuePart()} {From()} {Table<M>(type)} {Wheres()} ; "); break; case UiMethodEnum.ExistAsync: list.Add($" select count(*) {From()} {Table<M>(type)} {Wheres()} ; "); break; case UiMethodEnum.QueryAllAsync: list.Add($" select * {From()} {Table<M>(type)} ; "); break; } // if (XDebug.Hint) { XDebug.SQL = list; var paras = DC.GetParameters(); XDebug.Parameters = DC .Conditions .Where(it => DC.IsParameter(it)) .Select(it => { return($"key:【{it.Param}】;val:【{it.CsValue}】;param【{it.DbValue}】."); }) .ToList(); } // return(list); }