示例#1
0
        public IList <UserModel> GetUsers(FiltroViewModel filtro, string fieldOrder, Enumerators.Ordination ordination, int limitInitial, int limitCount, MySqlTransaction transaction = null)
        {
            string[] fields = { "", "nome", "cpf", "dataNascimento", "email" };

            if (!fields.Contains(fieldOrder))
            {
                throw new Exceptions.SiteException("Não foi informado um fieldOrder válido!");
            }

            var parameters = new List <MySqlParameter>();

            string sql = "SELECT a.*";

            sql += " FROM usuario a";
            sql += " INNER JOIN usuario_role b ON a.id = b.usuarioId AND b.removido = 0";
            sql += " WHERE " + Filtrar(filtro, "a", "b", parameters);
            sql += " GROUP BY a.id";
            if (fieldOrder != "")
            {
                sql += $" ORDER BY a.{fieldOrder} {ordination.ToString().ToUpper()}";
            }
            sql += $" LIMIT {limitInitial}, {limitCount}";

            using (DataTable dt = _connection.ExecuteReader(sql, parameters, transaction))
            {
                var users = new List <UserModel>();

                foreach (DataRow row in dt.Rows)
                {
                    var user = new UserModel();
                    DistributeData(user, row);
                    users.Add(user);
                }

                return(users);
            }
        }
示例#2
0
 public static IList <UserModel> GetUsers(UserViewModels.FiltroViewModel filtro, string fieldOrder, Enumerators.Ordination ordination, int limitInitial, int limitCount, Connection conn, MySqlTransaction transaction = null)
 {
     using (var dao = new UserDAO(conn))
     {
         return(dao.GetUsers(filtro, fieldOrder, ordination, limitInitial, limitCount, transaction));
     }
 }