public virtual ReturnInfo <IList <RoleInfo> > QueryByFilter(KeywordFilterInfo filter, string connectionId = null) { return(ExecReturnFunc <IList <RoleInfo> >((reInfo) => { return Persistence.SelectByFilter(filter, connectionId); })); }
/// <summary> /// 根据筛选条件查询角色列表 /// </summary> /// <param name="filter">筛选</param> /// <param name="connectionId">连接ID</param> /// <returns>角色列表</returns> public IList <RoleInfo> SelectByFilter(KeywordFilterInfo filter, string connectionId = null) { DynamicParameters parameters; StringBuilder whereSql = MergeWhereSql(filter, out parameters); IList <RoleInfo> result = null; DbConnectionManager.BrainpowerExecute(connectionId, this, (connId, dbConn) => { string sql = $"{SelectSql()} " + whereSql.ToString(); result = dbConn.Query <RoleInfo>(sql, parameters).AsList(); }, AccessMode.SLAVE); return(result); }
/// <summary> /// 追加按关键字查询的SQL /// </summary> /// <param name="whereSql">条件SQL</param> /// <param name="keywordFilter">关键字筛选</param> protected virtual void AppendKeywordSql(StringBuilder whereSql, KeywordFilterInfo keywordFilter) { if (keywordFilter == null || string.IsNullOrWhiteSpace(keywordFilter.Keyword)) { return; } string[] keywordFields = GetPageKeywordFields(); if (!keywordFields.IsNullOrLength0()) { whereSql.Append(" AND ("); foreach (var f in keywordFields) { string pfx = f.Contains(".") ? null : Table + "."; whereSql.AppendFormat("{0}{1} LIKE '%{2}%' OR ", pfx, f, keywordFilter.Keyword.FillSqlValue()); } whereSql.Remove(whereSql.Length - 4, 4); whereSql.Append(")"); } }
public virtual FileContentResult Export() { IDictionary <string, string> dicParams = Request.QueryString.Value.ToDictionaryFromUrlParams(); KeywordFilterInfo filter = dicParams.ToObject <KeywordFilterInfo, string>(); ReturnInfo <IList <RoleInfo> > returnInfo = Service.QueryByFilter(filter); if (returnInfo.Failure()) { return(File(new byte[] { 0 }, null)); } Response.Headers.Add("Content-Disposition", "attachment;filename=" + WebUtility.UrlEncode("角色_" + DateTime.Now.ToFixedDate() + ".xlsx")); try { return(File(returnInfo.Data.ToExcelBytes(), "application/vnd.ms-excel")); } catch (Exception ex) { Log.ErrorAsync("导出Excel发生异常", ex); return(null); } }