public async Task <bool> AskAddMoney(ulong pid, uint money) { if (!await CheckValid(pid)) { return(false); } using (var accesser = await Program.CacheService.GetPlayerInfoAccesser(pid)) { var infoItem = await accesser.LoadItemAtPlayerInfoAsync(); Console.WriteLine("LogicServiceImpl.AskAddMoney load InfoItem complete pid={0}", pid); if (infoItem == null) { Console.WriteLine("LogicServiceImpl.AskAddMoney InfoItem is null pid={0}", pid); infoItem = new PlayerInfoItem() { ItemList = new List <uint>() }; } infoItem.Money += money; accesser.UpdateItemAtPlayerInfo(infoItem); await accesser.SubmitChanges(); Program.Logic2CliService.Forward(sessionId).ServerMessageOk(); return(true); } }
public void UpdateItemAtPlayerInfo(PlayerInfoItem item) { var ctx = adaptor.Update(dataId); ctx .WriteField("Item", item) ; updateQueue.Add(ctx); }
public void UpdateItemAtPlayerInfo(PlayerInfoItem item) { const string dataId = "UPDATE `mem_player` SET `Item`=?2 WHERE `Pid`=?1"; var ctx = adaptor.Update(dataId); ctx .WriteField("Pid", (UInt64)key) .WriteField("Item", item) ; updateQueue.Add(ctx); }
public async Task <PlayerInfoItem> LoadItemAtPlayerInfoAsync() { var val = new PlayerInfoItem(); var reader = await adaptor.Query(dataId, "Item"); if (reader == null) { return(null); } val = reader.ReadField <PlayerInfoItem>("Item"); return(val); }
public async Task <PlayerInfoItem> LoadItemAtPlayerInfoAsync() { const string sql = "SELECT `Item` FROM `mem_player` WHERE `Pid` = ?1"; var val = new PlayerInfoItem(); var reader = await adaptor.Query(sql, (UInt64)key); if (reader == null) { return(null); } val = reader.ReadField <PlayerInfoItem>("Item"); reader.Dispose(); return(val); }