コード例 #1
0
ファイル: DbCon.cs プロジェクト: devonkumar/awepaytestapi
        //public IEnumerable<DataRow> AsEnumerable(this DataTable table)
        //{
        //    for (int i = 0; i < table.Rows.Count; i++)
        //    {
        //        yield return table.Rows[i];
        //    }
        //}

        //public int insert(string sql)
        //{


        //    int ret;

        //    SqlConnection conn = new SqlConnection(sqlconn);

        //    //string sqlq = "INSERT INTO Currencies (name,sym,pref,sfe,rfe,spc,rpc,nonf,memf,sver,rver) "+
        //    //            "VALUES('"+C.name+"','"+C.sym+"')";
        //    try
        //    {
        //        conn.Open();
        //        SqlCommand cmd = new SqlCommand(sql, conn);
        //        cmd.ExecuteNonQuery();

        //        ret = 1;
        //    }
        //    catch (System.Data.SqlClient.SqlException ex)
        //    {
        //        ret = 0;
        //        string msg = "Insert Error:";
        //        msg += ex.Message;
        //        throw new Exception(msg);
        //    }
        //    finally
        //    {
        //        conn.Close();
        //    }

        //    return ret;
        //}


        //public int update(string sql)
        //{

        //    SqlConnection conn = new SqlConnection(sqlconn);

        //    try
        //    {
        //        conn.Open();
        //        SqlCommand cmd = new SqlCommand(sql, conn);
        //        cmd.ExecuteNonQuery();
        //    }
        //    catch (System.Data.SqlClient.SqlException ex)
        //    {
        //        string msg = "Update Error:";
        //        msg += ex.Message;
        //        throw new Exception(msg);
        //    }
        //    finally
        //    {
        //        conn.Close();
        //    }

        //    return 1;
        //}


        //public int Delete(string sql)
        //{
        //    SqlConnection conn = new SqlConnection(sqlconn);

        //    try
        //    {
        //        conn.Open();
        //        SqlCommand cmd = new SqlCommand(sql, conn);
        //        cmd.ExecuteNonQuery();
        //    }
        //    catch (System.Data.SqlClient.SqlException ex)
        //    {
        //        string msg = "Delete Error:";
        //        msg += ex.Message;
        //        throw new Exception(msg);
        //    }
        //    finally
        //    {
        //        conn.Close();
        //    }

        //    return 1;
        //}


        public async Task <DRQueRes <T> > GetList <T>(string sql, PageQuery @p = null)
        {
            @p.SortBy   = (@p.SortBy == "Id") ? "t1.Id" : @p.SortBy;
            @p.PageSize = (@p.PageSize == 0) ? 10 : @p.PageSize;


            if ((@p.SearchCol ?? "").Length > 0)
            {
                sql += $" AND {@p.SearchCol} LIKE '%{@p.SearchBy}%' ";
            }
            string count = sql + ";";

            sql += $" ORDER BY {@p.SortBy} {@p.SortDir} LIMIT {@p.PageOff},{@p.PageSize}; ";

            //List<T> list = new List<T>();

            using (IDbConnection con = new MySqlConnection(sqlconn))
            {
                if (con.State == ConnectionState.Closed)
                {
                    con.Open();
                }

                var multi = await con.QueryMultipleAsync(sql + count);

                var list = multi.Read <T>().ToList();
                int cnt  = (list.Count() > 0) ? multi.Read <int>().First() : 0;
                @p.ResCount = cnt;

                var ret = new DRQueRes <T>(list, cnt);
                return(ret);
            }
        }
コード例 #2
0
ファイル: UserRepo.cs プロジェクト: devonkumar/awepaytestapi
        public async Task <DRQueRes <User> > GetList(PageQuery @params)
        {
            var query = _context.Users.AsNoTracking();

            //.Where(x => x.Status == RecordStatus.ENABLED);

            if (!string.IsNullOrEmpty(@params.SearchBy))
            {
                query = query.Where($"{@params.SearchCol}.Contains(@0)", @params.SearchBy);
            }
            var result = await query.OrderBy($"{@params.SortBy} {@params.SortDir}").Skip(@params.PageOff).Take(@params.PageSize).ToListAsync();

            var queres = new DRQueRes <User>(query, result);

            return(queres);
        }