using MongoDB.Bson.Serialization.Attributes; using WotBlitzStatisticsPro.Common.Model; namespace WotBlitzStatisticsPro.DataAccess.Model.Accounts { public class TankInfoHistory: IStatistics { public TankInfoHistory() { TankInfoHistoryId = new TankInfoHistoryKey(); } public TankInfoHistory(long accountId, long tankId, int lastBattleTime) { TankInfoHistoryId = new TankInfoHistoryKey(accountId, tankId, lastBattleTime); } [BsonId] public TankInfoHistoryKey TankInfoHistoryId { get; set; } /// /// Player account identifier /// [BsonIgnore] public long AccountId => TankInfoHistoryId.AccountId; /// /// Tank identifier /// [BsonIgnore] public long TankId => TankInfoHistoryId.TankId; /// /// Last battle /// [BsonIgnore] public int LastBattleTime => TankInfoHistoryId.LastBattleTime; /// /// Battles count /// public long? Battles { get; set; } /// /// Base capture points /// public long? CapturePoints { get; set; } /// /// Damage dealt /// public long? DamageDealt { get; set; } /// /// Damage received /// public long? DamageReceived { get; set; } /// /// Base dropped capture points /// public long? DroppedCapturePoints { get; set; } /// /// Frags count /// public long? Frags { get; set; } /// /// Frags count after 8 tier /// public long? Frags8P { get; set; } /// /// Hits count /// public long? Hits { get; set; } /// /// Losses count /// public long? Losses { get; set; } /// /// Max frags per battle /// public long? MaxFrags { get; set; } /// /// Max XP per battle /// public long? MaxXp { get; set; } /// /// Shots count /// public long? Shots { get; set; } /// /// Spotted vehicles count /// public long? Spotted { get; set; } /// /// Amount of survived battles /// public long? SurvivedBattles { get; set; } /// /// Amount of survived and wined battles /// public long? WinAndSurvived { get; set; } /// /// Wins count /// public long? Wins { get; set; } /// /// Total experience /// public long? Xp { get; set; } /// /// Wn7 coefficient /// public double Wn7 { get; set; } #region redudant fields public long? MaxFragsTankId { get; set; } public long? MaxXpTankId { get; set; } public double AvgTier { get; set; } #endregion } }