/// <summary> /// 得到一个对象实体 /// </summary> public async Task <TEntity> GetModelByIdAsync(int id) { TEntity model = null; try { using (var conn = connectionProvider.CreateConn()) { model = await conn.GetAsync <TEntity>(id); } } catch (ArgumentNullException ex) { logger.LogError("调用方法GetModelByIdAsync(int id)发生ArgumentNullException,异常信息:{0}", ex); } catch (SqlException ex) { logger.LogError("调用方法GetModelByIdAsync(int id)发生SqlException,异常信息:{0}", ex); } catch (Exception ex) { logger.LogError("调用方法GetModelByIdAsync(int id)发生Exception,异常信息:{0}", ex); } return(model); }
/// <summary> /// 根据表添加数据 /// </summary> /// <param name="dt">DataTable</param> /// <param name="groupId">组编号</param> public int Save(DataTable dt, int groupId) { try { using (var conn = connectionProvider.CreateConn()) { DynamicParameters parameters = new DynamicParameters(); parameters.Add("dt", dt, DbType.Object); parameters.Add("groupid", groupId); parameters.Add("result", 0, DbType.Int32, ParameterDirection.Output); conn.Execute("sp_save_C_SETTING", parameters, commandType: CommandType.StoredProcedure); return(parameters.Get <int>("result")); } } catch (ArgumentNullException ex) { logger.LogError("调用方法BatchSave(DataTable dt, int groupId)发生ArgumentNullException,异常信息:{0}", ex); } catch (SqlException ex) { logger.LogError("调用方法BatchSave(DataTable dt, int groupId)发生SqlException,异常信息:{0}", ex); } catch (Exception ex) { logger.LogError("调用方法BatchSave(DataTable dt, int groupId)发生Exception,异常信息:{0}", ex); } return(-1); }
/// <summary> /// 获取分页数据 /// </summary> /// <typeparam name="TFirst"></typeparam> /// <typeparam name="TSecond"></typeparam> /// <typeparam name="TReturn">dto</typeparam> /// <param name="map">委托函数</param> /// <param name="criteriaModel">查询数据Model</param> /// <param name="splitOn">表示查询的SQL语句中根据哪个字段进行分割</param> /// <returns></returns> public async Task <BasePagedListModel <TReturn> > GetPageDataAsync <TFirst, TSecond, TReturn>(IConnectionProvider connectionProvider, Func <TFirst, TSecond, TReturn> map, PageCriteriaModel criteriaModel, string splitOn = "Id") { using (var conn = connectionProvider.CreateConn()) { DynamicParameters parameters = new DynamicParameters(); parameters.Add("TableName", criteriaModel.TableName); parameters.Add("PrimaryKey", criteriaModel.PrimaryKey); parameters.Add("Fields", criteriaModel.Fields); parameters.Add("Condition", criteriaModel.Condition); parameters.Add("PageIndex", criteriaModel.PageIndex); parameters.Add("PageSize", criteriaModel.PageSize); parameters.Add("Sort", criteriaModel.Sort); parameters.Add("RecordCount", dbType: DbType.Int32, direction: ParameterDirection.Output); BasePagedListModel <TReturn> listModel = new BasePagedListModel <TReturn>() { Data = await conn.QueryAsync("sp_get_PageData", map, parameters, null, true, splitOn, null, commandType : CommandType.StoredProcedure), Total = parameters.Get <int>("RecordCount") }; return(listModel); } }