public int BuyVirtualShoppingItem(int userID, string userName, VirtualShoppingItem shoppingItem, CustomerMySqlTransaction myTrans) { PlayerBuyVirtualShoppingItemRecord record = null; DateTime time = DateTime.Now; if (shoppingItem.ItemType == VirtualShoppingItemType.FactorySlaveFoods30Days) { int result = StoneFactoryController.Instance.AddFoods(userID, 30, myTrans); if (result != OperResult.RESULTCODE_TRUE) { return(result); } record = new PlayerBuyVirtualShoppingItemRecord() { OrderNumber = OrderController.Instance.CreateOrderNumber(userName, time, AlipayTradeInType.VirtualShopping), UserID = userID, VirtualShoppingItemID = shoppingItem.ID, VirtualShoppingItemName = shoppingItem.Name, BuyTime = new MetaData.MyDateTime(time), UserName = userName, }; } else if (shoppingItem.ItemType == VirtualShoppingItemType.FactoryOpenTool) { int result = StoneFactoryController.Instance.OpenFactory(userID, myTrans); if (result != OperResult.RESULTCODE_TRUE) { return(result); } record = new PlayerBuyVirtualShoppingItemRecord() { OrderNumber = OrderController.Instance.CreateOrderNumber(userName, time, AlipayTradeInType.VirtualShopping), UserID = userID, VirtualShoppingItemID = shoppingItem.ID, VirtualShoppingItemName = shoppingItem.Name, BuyTime = new MetaData.MyDateTime(time), UserName = userName, }; } else { record = new PlayerBuyVirtualShoppingItemRecord() { OrderNumber = OrderController.Instance.CreateOrderNumber(userName, time, AlipayTradeInType.VirtualShopping), UserID = userID, VirtualShoppingItemID = shoppingItem.ID, BuyTime = new MetaData.MyDateTime(time) }; } bool isOK = DBProvider.VirtualShoppingItemDBProvider.AddPlayerBuyVirtualShoppingItemRecord(record, myTrans); if (isOK) { return(OperResult.RESULTCODE_TRUE); } return(OperResult.RESULTCODE_FALSE); }
public bool UpdateVirtualShoppingItem(VirtualShoppingItem item) { return(MyDBHelper.Instance.ConnectionCommandExecuteNonQuery(mycmd => { string sqlText = "update virtualshoppingitem " + " set `Name`=@Name,`Remark`=@Remark,`ItemType`=@ItemType,`SellState`=@SellState,`PlayerMaxBuyableCount`=@PlayerMaxBuyableCount," + "`ValueShoppingCredits`=@ValueShoppingCredits,`GainExp`=@GainExp,`GainRMB`=@GainRMB,`GainGoldCoin`=@GainGoldCoin," + "`GainMine_StoneReserves`=@GainMine_StoneReserves,`GainMiner`=@GainMiner,`GainStone`=@GainStone," + "`GainDiamond`=@GainDiamond,`GainShoppingCredits`=@GainShoppingCredits,`GainGravel`=@GainGravel " + " where `ID`=@ID;"; mycmd.CommandText = sqlText; mycmd.Parameters.AddWithValue("@Name", item.Name); mycmd.Parameters.AddWithValue("@Remark", item.Remark); mycmd.Parameters.AddWithValue("@ItemType", (int)item.ItemType); mycmd.Parameters.AddWithValue("@SellState", item.SellState); mycmd.Parameters.AddWithValue("@PlayerMaxBuyableCount", item.PlayerMaxBuyableCount); mycmd.Parameters.AddWithValue("@ValueShoppingCredits", item.ValueShoppingCredits); mycmd.Parameters.AddWithValue("@GainExp", item.GainExp); mycmd.Parameters.AddWithValue("@GainRMB", item.GainRMB); mycmd.Parameters.AddWithValue("@GainGoldCoin", item.GainGoldCoin); mycmd.Parameters.AddWithValue("@GainMine_StoneReserves", item.GainMine_StoneReserves); mycmd.Parameters.AddWithValue("@GainMiner", item.GainMiner); mycmd.Parameters.AddWithValue("@GainStone", item.GainStone); mycmd.Parameters.AddWithValue("@GainDiamond", item.GainDiamond); mycmd.Parameters.AddWithValue("@GainShoppingCredits", item.GainShoppingCredits); mycmd.Parameters.AddWithValue("@GainGravel", item.GainGravel); mycmd.Parameters.AddWithValue("@ID", item.ID); mycmd.ExecuteNonQuery(); })); }
public bool AddVirtualShoppingItem(VirtualShoppingItem item) { return(MyDBHelper.Instance.ConnectionCommandExecuteNonQuery(mycmd => { string sqlText = "insert into virtualshoppingitem " + "(`Name`,`Remark`,`ItemType`,`SellState`,`PlayerMaxBuyableCount`,`ValueShoppingCredits`,`GainExp`,`GainRMB`,`GainGoldCoin`," + "`GainMine_StoneReserves`,`GainMiner`,`GainStone`,`GainDiamond`,`GainShoppingCredits`,`GainGravel`) " + " values (@Name,@Remark,@ItemType,@SellState,@PlayerMaxBuyableCount,@ValueShoppingCredits,@GainExp,@GainRMB,@GainGoldCoin," + "@GainMine_StoneReserves,@GainMiner,@GainStone,@GainDiamond,@GainShoppingCredits,@GainGravel )"; mycmd.CommandText = sqlText; mycmd.Parameters.AddWithValue("@Name", item.Name); mycmd.Parameters.AddWithValue("@Remark", item.Remark); mycmd.Parameters.AddWithValue("@ItemType", (int)item.ItemType); mycmd.Parameters.AddWithValue("@SellState", item.SellState); mycmd.Parameters.AddWithValue("@PlayerMaxBuyableCount", item.PlayerMaxBuyableCount); mycmd.Parameters.AddWithValue("@ValueShoppingCredits", item.ValueShoppingCredits); mycmd.Parameters.AddWithValue("@GainExp", item.GainExp); mycmd.Parameters.AddWithValue("@GainRMB", item.GainRMB); mycmd.Parameters.AddWithValue("@GainGoldCoin", item.GainGoldCoin); mycmd.Parameters.AddWithValue("@GainMine_StoneReserves", item.GainMine_StoneReserves); mycmd.Parameters.AddWithValue("@GainMiner", item.GainMiner); mycmd.Parameters.AddWithValue("@GainStone", item.GainStone); mycmd.Parameters.AddWithValue("@GainDiamond", item.GainDiamond); mycmd.Parameters.AddWithValue("@GainShoppingCredits", item.GainShoppingCredits); mycmd.Parameters.AddWithValue("@GainGravel", item.GainGravel); mycmd.ExecuteNonQuery(); })); }
public bool CheckVirtualShoppingItemBuyable(int userID, VirtualShoppingItem item) { //小于等于0表示不限购 if (item.PlayerMaxBuyableCount <= 0) { return(true); } int buyCount = DBProvider.VirtualShoppingItemDBProvider.GetPlayerBuyVirtualShoppingItemCount(userID, item.ID); return(buyCount < item.PlayerMaxBuyableCount); }
public int UpdateVirtualShoppingItem(VirtualShoppingItem item) { string filePath = Path.Combine(GlobalData.VirtualShoppingImageFolder, item.Name + ".jpg"); bool isOK = DBProvider.VirtualShoppingItemDBProvider.UpdateVirtualShoppingItem(item); if (isOK) { using (FileStream stream = new FileStream(filePath, FileMode.Create)) { stream.Write(item.IconBuffer, 0, item.IconBuffer.Length); } return(OperResult.RESULTCODE_TRUE); } return(OperResult.RESULTCODE_FALSE); }
private void btnOK_Click(object sender, RoutedEventArgs e) { string name = this.txtName.Text.Trim(); string remark = this.txtRemark.Text.Trim(); if (name == "") { MyMessageBox.ShowInfo("请填写名称"); return; } if (remark == "") { MyMessageBox.ShowInfo("请填写说明"); return; } if (this.imgIcon.Source == null || _iconBuffer == null) { MyMessageBox.ShowInfo("请上传图标"); return; } if (MyMessageBox.ShowQuestionOKCancel("请确认奖项信息填写正确") != System.Windows.Forms.DialogResult.OK) { return; } VirtualShoppingItem item = new VirtualShoppingItem() { Name = name, Remark = remark, ItemType = (VirtualShoppingItemType)this.cmbItemType.SelectedValue, GainDiamond = (decimal)this.txtGainDiamond.Value, GainExp = (decimal)this.txtGainExp.Value, GainGoldCoin = (decimal)this.txtGainGoldCoin.Value, GainGravel = (decimal)this.txtGainGravel.Value, GainMine_StoneReserves = (decimal)this.txtGainMine_StoneReserves.Value, GainMiner = (decimal)this.txtGainMiner.Value, GainRMB = (decimal)this.txtGainRMB.Value, GainShoppingCredits = (decimal)this.txtGainShoppingCredits.Value, GainStone = (decimal)this.txtGainStone.Value, IconBuffer = this._iconBuffer, PlayerMaxBuyableCount = (int)this.txtPlayerMaxBuyCount.Value, SellState = (SellState)this.cmbItemState.SelectedIndex, ValueShoppingCredits = (decimal)this.txtPriceRMB.Value }; InputActionPasswordWindow winActionPassword = new InputActionPasswordWindow(); if (winActionPassword.ShowDialog() == true) { string password = winActionPassword.ActionPassword; if (isAdd) { this.AsyncAddVirtualShoppingItem(password, item); } else { item.ID = this.oldID; this.AsyncUpdateVirtualShoppingItem(password, item); } } }
public void BuyVirtualShoppingItem(VirtualShoppingItem shoppingItem) { this._invoker.Invoke <int>(this._context, "BuyVirtualShoppingItem", this.BuyVirtualShoppingItemCompleted, GlobalData.Token, shoppingItem); }
public void AsyncBuyVirtualShoppingItem(VirtualShoppingItem shoppingItem) { App.BusyToken.ShowBusyWindow("正在提交服务器..."); GlobalData.Client.BuyVirtualShoppingItem(shoppingItem); }
public VirtualShoppingItemUIModel(VirtualShoppingItem parent) { ParentObject = parent; }
public int BuyVirtualShoppingItem(string token, VirtualShoppingItem shoppingItem) { if (RSAProvider.LoadRSA(token)) { PlayerRunnable playerrunner = null; string userName = ""; try { userName = ClientManager.GetClientUserName(token); playerrunner = PlayerController.Instance.GetRunnable(userName); if (playerrunner == null) { return(OperResult.RESULTCODE_USER_NOT_EXIST); } if (!VirtualShoppingController.Instance.CheckVirtualShoppingItemBuyable(playerrunner.BasePlayer.SimpleInfo.UserID, shoppingItem)) { return(OperResult.RESULTCODE_VIRTUALSHOPPING_PLAYERCANOTBUY_THISITEM); } int result = MyDBHelper.Instance.TransactionDataBaseOper(myTrans => { int innerResult = playerrunner.BuyVirtualShoppingItem(shoppingItem, myTrans); if (innerResult != OperResult.RESULTCODE_TRUE) { return(innerResult); } return(VirtualShoppingController.Instance.BuyVirtualShoppingItem(playerrunner.BasePlayer.SimpleInfo.UserID, userName, shoppingItem, myTrans)); }, exc => { if (playerrunner != null) { playerrunner.RefreshFortune(); } if (exc != null) { LogHelper.Instance.AddErrorLog("玩家[" + userName + "]购买虚拟商品[" + shoppingItem.Name + "]异常", exc); } }); if (result == OperResult.RESULTCODE_TRUE) { LogHelper.Instance.AddInfoLog("玩家[" + userName + "]成功购买了虚拟商品[" + shoppingItem.Name + "]"); } return(result); } catch (Exception exc) { LogHelper.Instance.AddErrorLog("玩家[" + userName + "]购买虚拟商品[" + shoppingItem.Name + "]异常. ClientIP=" + ClientManager.GetClientIP(token), exc); return(OperResult.RESULTCODE_EXCEPTION); } } else { throw new Exception(); } }