/// <summary> /// 带事务的Update /// </summary> /// <param name="entity"></param> /// <param name="trans">The trans.</param> /// <returns></returns> /// <remarks>2016/11/15 18:58:31</remarks> public bool Update(CrossactivityRecordEntity entity, DbTransaction trans) { var database = new SqlDatabase(this.ConnectionString); DbCommand commandWrapper = database.GetStoredProcCommand("dbo.P_CrossactivityRecord_Update"); database.AddInParameter(commandWrapper, "@Idx", DbType.Int32, entity.Idx); database.AddInParameter(commandWrapper, "@ManagerId", DbType.Guid, entity.ManagerId); database.AddInParameter(commandWrapper, "@SiteName", DbType.AnsiString, entity.SiteName); database.AddInParameter(commandWrapper, "@PrizeId", DbType.Int32, entity.PrizeId); database.AddInParameter(commandWrapper, "@RowTime", DbType.DateTime, entity.RowTime); int results = 0; if (trans != null) { results = database.ExecuteNonQuery(commandWrapper, trans); } else { results = database.ExecuteNonQuery(commandWrapper); } entity.Idx = (System.Int32)database.GetParameterValue(commandWrapper, "@Idx"); return(Convert.ToBoolean(results)); }
/// <summary> /// 将IDataReader的当前记录读取到CrossactivityRecordEntity 对象 /// </summary> /// <param name="reader"></param> /// <returns></returns> public CrossactivityRecordEntity LoadSingleRow(IDataReader reader) { var obj = new CrossactivityRecordEntity(); obj.Idx = (System.Int32)reader["Idx"]; obj.ManagerId = (System.Guid)reader["ManagerId"]; obj.SiteName = (System.String)reader["SiteName"]; obj.PrizeId = (System.Int32)reader["PrizeId"]; obj.RowTime = (System.DateTime)reader["RowTime"]; return(obj); }
/// <summary> /// GetById /// </summary> /// <param name="idx">idx</param> /// <returns>CrossactivityRecordEntity</returns> /// <remarks>2016/11/15 18:58:31</remarks> public CrossactivityRecordEntity GetById(System.Int32 idx) { var database = new SqlDatabase(this.ConnectionString); DbCommand commandWrapper = database.GetStoredProcCommand("P_CrossactivityRecord_GetById"); database.AddInParameter(commandWrapper, "@Idx", DbType.Int32, idx); CrossactivityRecordEntity obj = null; using (IDataReader reader = database.ExecuteReader(commandWrapper)) { if (reader.Read()) { obj = LoadSingleRow(reader); } } return(obj); }
/// <summary> /// 抽奖 /// </summary> /// <param name="managerId"></param> /// <param name="zoneName"></param> /// <returns></returns> public CrossActivityPrizeResponse Prize(Guid managerId, string zoneName) { CrossActivityPrizeResponse response = new CrossActivityPrizeResponse(); response.Data = new CrossActivityPrize(); try { if (!IsActivity) { return(ResponseHelper.Create <CrossActivityPrizeResponse>(MessageCode.CrowdNoData)); } var managerInfo = NbManagerMgr.GetById(managerId, zoneName); if (managerInfo == null) { return(ResponseHelper.Create <CrossActivityPrizeResponse>(MessageCode.NbParameterError)); } var maxCount = CacheFactory.VipdicCache.GetEffectValue(managerInfo.VipLevel, (int)EnumVipEffect.BeThankfulActivity); var usedNumber = CrossactivityRecordMgr.GetActivityNumber(managerId, DateTime.Now.Date); if (maxCount <= usedNumber) { return(ResponseHelper.Create <CrossActivityPrizeResponse>(MessageCode.DayNumberNot)); } var result = Prize(managerInfo.VipLevel); CrossactivityRecordEntity entity = new CrossactivityRecordEntity(0, managerId, zoneName, result.PrizeId, DateTime.Now); ItemPackageFrame package = null; int addPoint = 0; int addGoldBar = 0; int itemCode = 0; int itemCount = 0; var messageCode = AddPrize(result, managerId, zoneName, ref package, ref addPoint, ref addGoldBar, ref itemCode, ref itemCount); if (messageCode != MessageCode.Success) { return(ResponseHelper.Create <CrossActivityPrizeResponse>(messageCode)); } if (addPoint > 0) { messageCode = PayCore.Instance.AddBonus(managerInfo.Account, addPoint, EnumChargeSourceType.CrossActivity, ShareUtil.GenerateComb().ToString(), null, zoneName); if (messageCode != MessageCode.Success) { return(ResponseHelper.Create <CrossActivityPrizeResponse>(messageCode)); } } else if (package != null) { if (!package.Save()) { return(ResponseHelper.Create <CrossActivityPrizeResponse>(MessageCode.NbUpdateFail)); } package.Shadow.Save(); } else if (addGoldBar > 0) { var goldBarManager = ScoutingGoldbarMgr.GetById(managerId, zoneName); if (goldBarManager == null) { goldBarManager = new ScoutingGoldbarEntity(managerId, addGoldBar, 0, 0, 0, DateTime.Now, DateTime.Now); if (!ScoutingGoldbarMgr.Insert(goldBarManager, null, zoneName)) { return(ResponseHelper.Create <CrossActivityPrizeResponse>(MessageCode.NbUpdateFail)); } } else { goldBarManager.GoldBarNumber = goldBarManager.GoldBarNumber + addGoldBar; if (!ScoutingGoldbarMgr.Update(goldBarManager, null, zoneName)) { return(ResponseHelper.Create <CrossActivityPrizeResponse>(MessageCode.NbUpdateFail)); } } } try { CrossactivityRecordMgr.Insert(entity); } catch { } response.Data.MaxNumber = maxCount; response.Data.PrizeId = result.PrizeId; response.Data.UsedNumber = usedNumber + 1; response.Data.Number = itemCount; response.Data.ItemCode = itemCode; } catch (Exception ex) { SystemlogMgr.Error("抽奖", ex); response.Code = (int)MessageCode.NbParameterError; } return(response); }
/// <summary> /// Update /// </summary> /// <param name="entity"></param> /// <returns></returns> /// <remarks>2016/11/15 18:58:31</remarks> public bool Update(CrossactivityRecordEntity entity) { return(Update(entity, null)); }
/// <summary> /// Insert /// </summary> /// <param name="entity"></param> /// <param name="trans">The trans.</param> /// <returns></returns> /// <remarks>2016/11/15 18:58:31</remarks> public bool Insert(CrossactivityRecordEntity entity) { return(Insert(entity, null)); }
public static bool Update(CrossactivityRecordEntity crossactivityRecordEntity, DbTransaction trans = null, string zoneId = "") { var provider = new CrossactivityRecordProvider(zoneId); return(provider.Update(crossactivityRecordEntity, trans)); }