Exemplo n.º 1
0
        public List <PersonDbo> Find(PersonFind personFind)
        {
            List <string> wheres = new List <string>();

            string sqlFrom = " from Person p ";

            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;

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

            return(items.ToList());
        }
Exemplo n.º 2
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));
        }