コード例 #1
0
        private void WriteRow(IXLWorksheet sheet, Game game, int row)
        {
            var props = new CellValue[] {
                new CellValue(game.Deck?.Name),
                new CellValue(game.DeckVersion),
                new CellValue(EnumStringConverter.ToTitleCase(game.PlayerClass)),
                new CellValue(EnumStringConverter.ToTitleCase(game.Mode)),
                new CellValue(EnumStringConverter.ToTitleCase(game.Format)),
                new CellValue(game.Region),
                new CellValue(game.Rank, XLCellValues.Number),
                new CellValue(game.StartTime, XLCellValues.DateTime),
                new CellValue(game.PlayerGotCoin ? "Yes" : "No"),
                new CellValue(EnumStringConverter.ToTitleCase(game.OpponentClass)),
                new CellValue(game.OpponentName),
                new CellValue(game.Turns, XLCellValues.Number),
                new CellValue(game.Minutes, XLCellValues.Number),
                new CellValue(EnumStringConverter.ToTitleCase(game.Result)),
                new CellValue(game.WasConceded ? "Yes" : "No"),
                new CellValue(game.Note?.Text),
                new CellValue(game.Note?.Archetype),
                new CellValue(game.Id),
            };

            for (var i = 0; i < props.Length; i++)
            {
                sheet.Cell(row, i + 1).Value = props[i].Value;
                sheet.Cell(row, i + 1).SetDataType(props[i].Type);
            }
        }
コード例 #2
0
        /// <summary>
        /// Copy Game into a GameStats object.
        /// Will cause existing properties to be overwritten.
        /// </summary>
        public static void CopyTo(this Game from, GameStats to)
        {
            // dont't overwrite game ids with empty
            if (from.Id != Guid.Empty)
            {
                to.GameId = from.Id;
            }
            if (from.Deck == null || from.Deck.Name == null)
            {
                to.DeckName = Deck.Empty.Name;
                to.DeckId   = Deck.Empty.Id;
            }
            else
            {
                to.DeckName = from.Deck.Name;
                to.DeckId   = from.Deck.Id;
            }
            if (from.DeckVersion != null)
            {
                to.PlayerDeckVersion = new SerializableVersion(
                    from.DeckVersion.Major, from.DeckVersion.Minor);
            }

            to.StartTime = from.StartTime;
            // set end time based on duration
            if (from.Minutes >= 0 && from.StartTime > DateTime.MinValue)
            {
                to.EndTime = from.StartTime.AddMinutes(from.Minutes);
            }
            else
            {
                to.EndTime = from.EndTime;
            }

            to.GameMode     = Convert(from.Mode);
            to.Format       = Convert(from.Format);
            to.Note         = from.Note?.ToString();
            to.OpponentHero = EnumStringConverter.ToTitleCase(from.OpponentClass);
            to.OpponentName = from.OpponentName;
            to.PlayerHero   = EnumStringConverter.ToTitleCase(from.PlayerClass);
            to.PlayerName   = from.PlayerName;
            to.Coin         = from.PlayerGotCoin;
            to.Rank         = from.Rank;
            to.Region       = Convert(from.Region);
            to.Result       = Convert(from.Result);
            to.Turns        = from.Turns;
            to.WasConceded  = from.WasConceded;
        }