/// <summary> /// 增加一条记录,返回新的ID号。需要有一个单一主键,并且开启有标识符属性(异步方式) /// </summary> /// <param name="entity">实体模型</param> /// <returns></returns> public virtual async Task <int> InsertAsync(ContentChargeEntity entity) { if (entity.GeneralID <= 0) { entity.GeneralID = GetNewID(); } Dictionary <string, object> dict = new Dictionary <string, object>(); GetParameters(entity, dict); string strSQL = "insert into ContentCharge (" + "GeneralID," + "ChargeType," + "InfoPoint," + "PitchTime," + "ReadTimes," + "DividePercent) " + "values(" + "@GeneralID," + "@ChargeType," + "@InfoPoint," + "@PitchTime," + "@ReadTimes," + "@DividePercent)"; if (await Task.Run(() => _DB.ExeSQLResult(strSQL, dict))) { return(DataConverter.CLng(entity.GeneralID)); } return(-1); }
/// <summary> /// 增加一条记录 /// </summary> /// <param name="entity">实体模型</param> /// <returns></returns> public virtual bool Add(ContentChargeEntity entity) { if (entity.GeneralID <= 0) { entity.GeneralID = GetNewID(); } Dictionary <string, object> dict = new Dictionary <string, object>(); GetParameters(entity, dict); string strSQL = "insert into ContentCharge (" + "GeneralID," + "ChargeType," + "InfoPoint," + "PitchTime," + "ReadTimes," + "DividePercent) " + "values(" + "@GeneralID," + "@ChargeType," + "@InfoPoint," + "@PitchTime," + "@ReadTimes," + "@DividePercent)"; return(_DB.ExeSQLResult(strSQL, dict)); }
/// <summary> /// 把实体类转换成键/值对集合 /// </summary> /// <param name="entity"></param> /// <param name="dict"></param> private static void GetParameters(ContentChargeEntity entity, Dictionary <string, object> dict) { dict.Add("GeneralID", entity.GeneralID); dict.Add("ChargeType", entity.ChargeType); dict.Add("InfoPoint", entity.InfoPoint); dict.Add("PitchTime", entity.PitchTime); dict.Add("ReadTimes", entity.ReadTimes); dict.Add("DividePercent", entity.DividePercent); }
/// <summary> /// 通过数据读取器生成实体类 /// </summary> /// <param name="rdr"></param> /// <returns></returns> private static ContentChargeEntity GetEntityFromrdr(NullableDataReader rdr) { ContentChargeEntity info = new ContentChargeEntity(); info.GeneralID = rdr.GetInt32("GeneralID"); info.ChargeType = rdr.GetInt32("ChargeType"); info.InfoPoint = rdr.GetInt32("InfoPoint"); info.PitchTime = rdr.GetInt32("PitchTime"); info.ReadTimes = rdr.GetInt32("ReadTimes"); info.DividePercent = rdr.GetInt32("DividePercent"); return(info); }
/// <summary> /// 获取实体(异步方式) /// </summary> /// <param name="strWhere">参数化查询条件(例如: and Name = @Name )</param> /// <param name="dict">参数的名/值集合</param> /// <returns></returns> public virtual async Task <ContentChargeEntity> GetEntityAsync(string strWhere, Dictionary <string, object> dict = null) { ContentChargeEntity obj = null; string strSQL = "select top 1 * from ContentCharge where 1=1 " + strWhere; using (NullableDataReader reader = await Task.Run(() => _DB.GetDataReader(strSQL, dict))) { if (reader.Read()) { obj = GetEntityFromrdr(reader); } } return(obj); }
/// <summary> /// 更新一条记录(异步方式) /// </summary> /// <param name="entity">实体模型</param> /// <returns></returns> public virtual async Task <bool> UpdateAsync(ContentChargeEntity entity) { Dictionary <string, object> dict = new Dictionary <string, object>(); GetParameters(entity, dict); string strSQL = "Update ContentCharge SET " + "ChargeType = @ChargeType," + "InfoPoint = @InfoPoint," + "PitchTime = @PitchTime," + "ReadTimes = @ReadTimes," + "DividePercent = @DividePercent" + " WHERE " + "GeneralID = @GeneralID"; return(await Task.Run(() => _DB.ExeSQLResult(strSQL, dict))); }
/// <summary> /// 增加或更新一条记录(异步方式) /// </summary> /// <param name="entity">实体模型</param> /// <param name="IsSave">是否增加</param> /// <returns></returns> public virtual async Task <bool> AddOrUpdateAsync(ContentChargeEntity entity, bool IsSave) { return(IsSave ? await AddAsync(entity) : await UpdateAsync(entity)); }
/// <summary> /// 增加或更新一条记录 /// </summary> /// <param name="entity">实体模型</param> /// <param name="IsSave">是否增加</param> /// <returns></returns> public virtual bool AddOrUpdate(ContentChargeEntity entity, bool IsSave) { return(IsSave ? Add(entity) : Update(entity)); }