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); } }
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)); } }