/// <summary> /// 带事务的Update /// </summary> /// <param name="entity"></param> /// <param name="trans">The trans.</param> /// <returns></returns> /// <remarks>2016/10/21 13:58:50</remarks> public bool Update(ScoutingGoldbarEntity entity, DbTransaction trans = null) { var database = new SqlDatabase(this.ConnectionString); DbCommand commandWrapper = database.GetStoredProcCommand("dbo.P_ScoutingGoldbar_Update"); database.AddInParameter(commandWrapper, "@ManagerId", DbType.Guid, entity.ManagerId); database.AddInParameter(commandWrapper, "@GoldBarNumber", DbType.Int32, entity.GoldBarNumber); database.AddInParameter(commandWrapper, "@ScoutingNumber", DbType.Int32, entity.ScoutingNumber); database.AddInParameter(commandWrapper, "@TenNumber", DbType.Int32, entity.TenNumber); database.AddInParameter(commandWrapper, "@Status", DbType.Int32, entity.Status); database.AddInParameter(commandWrapper, "@UpdateTiem", DbType.DateTime, entity.UpdateTiem); 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.ManagerId = (System.Guid)database.GetParameterValue(commandWrapper, "@ManagerId"); return(Convert.ToBoolean(results)); }
MessageCode Receive() { var exRecord = new ActivityexCountrecordEntity(); exRecord.Idx = 1; exRecord.ZoneActivityId = 19; exRecord.ExcitingId = 32; exRecord.GroupId = 2; exRecord.ExData = 6000; exRecord.CurData = 6000; exRecord.ExStep = 1; exRecord.AlreadySendCount = 0; var detail = new TemplateActivityexdetailEntity(105, 32, 2, 1, 5000, 0, 0, 0, 1, 310161); int prizeItemcode = detail.EffectValue; int prizeItemCount = exRecord.ExData - exRecord.AlreadySendCount; int itemCount = 0; var group = new TemplateActivityexgroupEntity(103, 32, 2, 1, 108, 3, false, 0, 5000); if (group.ExRequireId == (int)EnumActivityExRequire.ChargeCount) //充值计数 { itemCount = prizeItemCount / group.RankCount; exRecord.AlreadySendCount += (itemCount * group.RankCount); if (detail.EffectRate > 0) { prizeItemCount = itemCount * detail.EffectRate; } } else { exRecord.AlreadySendCount += prizeItemCount; } MessageCode code = MessageCode.Success; ItemPackageFrame package = null; ScoutingGoldbarEntity goldBarManager = null; bool isInsert = false; if (prizeItemcode > 10000) //物品 { package = ItemCore.Instance.GetPackage(new Guid("A995C3B5-4CA2-4348-A1B0-A60E013163A5"), EnumTransactionType.ActivityExPrize); if (package == null || package.PackageSize < prizeItemCount) { return(MessageCode.ItemPackageFull); } code = package.AddItems(prizeItemcode, prizeItemCount); if (code != MessageCode.Success) { return(code); } } return(MessageCode.Success); }
/// <summary> /// 将IDataReader的当前记录读取到ScoutingGoldbarEntity 对象 /// </summary> /// <param name="reader"></param> /// <returns></returns> public ScoutingGoldbarEntity LoadSingleRow(IDataReader reader) { var obj = new ScoutingGoldbarEntity(); obj.ManagerId = (System.Guid)reader["ManagerId"]; obj.GoldBarNumber = (System.Int32)reader["GoldBarNumber"]; obj.ScoutingNumber = (System.Int32)reader["ScoutingNumber"]; obj.TenNumber = (System.Int32)reader["TenNumber"]; obj.Status = (System.Int32)reader["Status"]; obj.UpdateTiem = (System.DateTime)reader["UpdateTiem"]; obj.RowTime = (System.DateTime)reader["RowTime"]; return(obj); }
protected void btnGoldBar_Click(object sender, EventArgs e) { try { if (CheckManager()) { var count = ConvertHelper.ConvertToInt(txt_GoldBar.Text); if (count < 0) { ShowMessage("数量不能小于0"); return; } if (count > 5000) { ShowMessage("一次发送不能超过5000"); return; } GoldbarRecordEntity record = new GoldbarRecordEntity(0, _account.ManagerId, true, count, (int)EnumTransactionType.AdminAddItem, DateTime.Now); var goldBarManager = ScoutingGoldbarMgr.GetById(_account.ManagerId, _account.ZoneId); if (goldBarManager == null) { goldBarManager = new ScoutingGoldbarEntity(_account.ManagerId, count, 0, 0, 0, DateTime.Now, DateTime.Now); if (!ScoutingGoldbarMgr.Insert(goldBarManager, null, _account.ZoneId)) { ShowMessage("发送失败"); return; } } else { goldBarManager.GoldBarNumber = goldBarManager.GoldBarNumber + count; if (!ScoutingGoldbarMgr.Update(goldBarManager, null, _account.ZoneId)) { ShowMessage("发送失败"); return; } } GoldbarRecordMgr.Insert(record, null, _account.ZoneId); ShowMessage("发送成功"); } } catch (Exception ex) { LogHelper.Insert(ex); ShowMessage(ex.Message); } }
/// <summary> /// GetById /// </summary> /// <param name="managerId">managerId</param> /// <returns>ScoutingGoldbarEntity</returns> /// <remarks>2016/10/21 13:58:50</remarks> public ScoutingGoldbarEntity GetById(System.Guid managerId) { var database = new SqlDatabase(this.ConnectionString); DbCommand commandWrapper = database.GetStoredProcCommand("P_ScoutingGoldbar_GetById"); database.AddInParameter(commandWrapper, "@ManagerId", DbType.Guid, managerId); ScoutingGoldbarEntity 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); }
public static bool Update(ScoutingGoldbarEntity scoutingGoldbarEntity, DbTransaction trans = null, string zoneId = "") { var provider = new ScoutingGoldbarProvider(zoneId); return(provider.Update(scoutingGoldbarEntity, trans)); }
MessageCode Tran_SaveAttachment(DbTransaction transaction, List <MailInfoEntity> mails, ItemPackageFrame package, NbManagerEntity manager, int coin, int sophicate, int point, int prestige, int bindPoint, int addGoldBar, Guid managerId, int addluckyCoin, int addGameCoin) { var orderId = mails[0].Idx.ToString(); foreach (var mail in mails) { if (!MailInfoMgr.Update(mail, transaction)) { return(MessageCode.NbUpdateFail); } } if (package != null) { if (!package.Save(transaction)) { return(MessageCode.NbUpdateFail); } } if (coin > 0) { var code = ManagerCore.Instance.AddCoin(manager, coin, EnumCoinChargeSourceType.MailAttachment, orderId, transaction); if (code != MessageCode.Success) { return(MessageCode.NbUpdateFail); } } if (sophicate > 0) { int resultSophisticate = manager.Sophisticate; if (!NbManagerMgr.AddSophisticate(manager.Idx, sophicate, ref resultSophisticate, transaction)) { return(MessageCode.NbUpdateFail); } } if (point > 0) { var code = PayCore.Instance.AddBonus(manager.Account, point, EnumChargeSourceType.MailAttachment, orderId, transaction); if (code != MessageCode.Success) { return(MessageCode.NbUpdateFail); } } if (bindPoint > 0) { var payUser = PayUserMgr.GetById(manager.Account); if (payUser == null) { payUser = new PayUserEntity(); payUser.Account = manager.Account; payUser.BindPoint = bindPoint; payUser.RowTime = DateTime.Now; payUser.IsNew = true; } else { payUser.BindPoint += bindPoint; } if (payUser.IsNew) { if (!PayUserMgr.Insert(payUser, transaction)) { return(MessageCode.NbUpdateFail); } } else { if (!PayUserMgr.Update(payUser, transaction)) { return(MessageCode.NbUpdateFail); } } } if (addGoldBar > 0) { var goldBarManager = ScoutingGoldbarMgr.GetById(managerId); if (goldBarManager == null) { goldBarManager = new ScoutingGoldbarEntity(managerId, addGoldBar, 0, 0, 0, DateTime.Now, DateTime.Now); if (!ScoutingGoldbarMgr.Insert(goldBarManager, transaction)) { return(MessageCode.NbUpdateFail); } } else { goldBarManager.GoldBarNumber = goldBarManager.GoldBarNumber + addGoldBar; if (!ScoutingGoldbarMgr.Update(goldBarManager, transaction)) { return(MessageCode.NbUpdateFail); } } GoldbarRecordEntity record = new GoldbarRecordEntity(0, managerId, true, addGoldBar, (int)EnumCoinChargeSourceType.MailAttachment, DateTime.Now); GoldbarRecordMgr.Insert(record); } if (addluckyCoin > 0) { if (!TurntableManagerMgr.AddLuckyCoin(managerId, addluckyCoin, transaction)) { return(MessageCode.NbUpdateFail); } } if (addGameCoin > 0) { if (!PenaltykickManagerMgr.AddGameCurrency(managerId, addGameCoin, transaction)) { return(MessageCode.NbUpdateFail); } } return(MessageCode.Success); }