static public DOBoard MapTo(this Board data) { if (!data.IsGameOver && data.RedPlayer != null) { data.UpdateRemainTime(data.RedPlayer, DateTime.Now); } if (!data.IsGameOver && data.BlackPlayer != null) { data.UpdateRemainTime(data.BlackPlayer, DateTime.Now); } DOBoard result = new DOBoard { Id = data.Id, Owner = data.Owner?.MapToPlayerInBoard(), RedPlayer = data.RedPlayer?.MapToPlayerInBoard(), BlackPlayer = data.BlackPlayer?.MapToPlayerInBoard(), Status = data.Status, TotalTime = data.TotalTime, AddingTime = 0, Result = data.Result, Turn = data.Turn, Items = new List <DOItem>(), }; if (data.Items != null) { data.Items.ForEach(item => { result.Items.Add(item.MapTo(false)); }); } return(result); }
static public DOBoardShortcut MapToShortcut(this DOBoard data) { return(new DOBoardShortcut { Id = data.Id, RedPlayerName = data.RedPlayer?.Name, BlackPlayerName = data.BlackPlayer?.Name }); }