Example #1
0
        public PageDbo <PersonDbo> Find(PersonFind personFind, int page, int size)
        {
            List <string> wheres = new List <string>();

            string sqlFrom    = " from Person p ";
            string sqlOrderBy = " order by p.TimeStamp desc ";

            PageSkipTakeModel pageSkipTake = new PageSkipTakeModel(page, size);

            if (!string.IsNullOrWhiteSpace(personFind.Instagram))
            {
                wheres.Add(string.Format(" p.Instagram like('%{0}%') ", personFind.Instagram));
            }
            if (!string.IsNullOrWhiteSpace(personFind.Vk))
            {
                wheres.Add(string.Format(" p.Vk like('%{0}%') ", personFind.Vk));
            }
            if (!string.IsNullOrWhiteSpace(personFind.Email))
            {
                wheres.Add(string.Format(" p.Email like('%{0}%') ", personFind.Email));
            }
            if (!string.IsNullOrWhiteSpace(personFind.Name))
            {
                wheres.Add(string.Format(" p.Name like('%{0}%') ", personFind.Name));
            }

            string sql = sqlFrom + base.ConcatWhere(wheres);

            IEnumerable <PersonDbo> items;
            int totalCount;

            using (var conn = base.OpenConnection())
            {
                items = Query <PersonDbo>(conn, "select * " + sql + sqlOrderBy + pageSkipTake.SqlFormat, null);

                totalCount = QueryFirst <int>(conn, "select Count(*) " + sql, null);
            }

            return(new PageDbo <PersonDbo>(items, totalCount));
        }
Example #2
0
        public PageDbo <PersonDbo> Get(int page, int size)
        {
            string sqlSelect     = "select * from Person ";
            string sqlTotalCount = "select Count(*) as count from Person";

            string sqlOrderBy = "order by TimeStamp desc";

            var skipTakeModel = new PageSkipTakeModel(page, size);

            string sql = string.Format("{0} {1} {2}", sqlSelect, sqlOrderBy, skipTakeModel.SqlFormat);

            IEnumerable <PersonDbo> items;
            int totalCount;

            using (var conn = base.OpenConnection())
            {
                items      = Query <PersonDbo>(conn, sql, null);
                totalCount = QueryFirst <int>(conn, sqlTotalCount, null);
            }

            return(new PageDbo <PersonDbo>(items, totalCount));
        }