public void ExecuteCommand(GameSession session, ProtobufRequestInfo requestInfo) { var RoomInfoID = SendGetUserGamePlayback.ParseFrom(requestInfo.Body); var list = new BoarddetailstbDAL().GetListByRoomInfoID(RoomInfoID.RoomInfoID); var returnGetUserGamePlayback = ReturnGetUserGamePlayback.CreateBuilder(); foreach (var item in list) { returnGetUserGamePlayback.AddGameOperationProcess(GameOperationProcess.ParseFrom(item.MatchDetails)); } var data = returnGetUserGamePlayback.Build().ToByteArray(); session.Send(new ArraySegment <byte>(CreateHead.CreateMessage(GameInformationBase.BASEAGREEMENTNUMBER + 9004, data.Length, requestInfo.MessageNum, data))); }
/// <summary> /// 将牌局回放数据存入数据库 /// </summary> /// <param name="r"></param> public static void AddboarddetailsTB(Room r) { string InningsID = string.Empty; bool exists = false; var dal = new BoarddetailstbDAL(); do { InningsID = Guid.NewGuid().ToString(); exists = dal.GetExistsByInningsIDID(InningsID); } while (exists); dal.Add(new boarddetailsTB { InningsID = InningsID, RoomInfoID = r.RoomInfoID, GameSummary = r.gameOperationProcess.JieSuanInfo.ToArray(), MatchDetails = r.gameOperationProcess.Build().ToByteArray() }); }