private void SetSideData(SpousesBattleRecordSide side, IBattleCombatant battleCombatant, BasicCharacterObject character, int remain, int killCount, int killed, int wounder, int wounded)
 {
     if (null != side)
     {
         side.Remain    += remain;
         side.KillCount += killCount;
         side.Killed    += killed;
         side.Wounded   += wounded;
         side.RunAway   += wounder;
         SpousesBattleRecordParty party = side.GetPartyByUniqueId(battleCombatant.GetHashCode() + "");
         if (null == party)
         {
             party      = new SpousesBattleRecordParty(battleCombatant.GetHashCode() + "");
             party.Name = battleCombatant.Name.ToString();
             side.Parties.Add(party);
         }
         party.Remain    += remain;
         party.KillCount += killCount;
         party.Killed    += killed;
         party.Wounded   += wounded;
         party.RunAway   += wounder;
         SpousesBattleRecordCharacter battleRecordCharacter = party.GetBattleRecordCharacter(character);
         if (null == battleRecordCharacter)
         {
             battleRecordCharacter = new SpousesBattleRecordCharacter(character);
             party.Characters.Add(battleRecordCharacter);
         }
         battleRecordCharacter.Remain    += remain;
         battleRecordCharacter.KillCount += killCount;
         battleRecordCharacter.Killed    += killed;
         battleRecordCharacter.Wounded   += wounded;
         battleRecordCharacter.RunAway   += wounder;
     }
 }
        public SpousesBattleRecordParty GetPartyByUniqueId(String uniqueId)
        {
            SpousesBattleRecordParty result = null;

            if (null != uniqueId)
            {
                foreach (SpousesBattleRecordParty party in Parties)
                {
                    if (uniqueId == party.UniqueId)
                    {
                        result = party;
                        break;
                    }
                }
            }
            return(result);
        }
 public BattleHistorySPPartyVM(SpousesBattleRecordParty party)
 {
     this._party = party;
     this._score = new BattleHistorySPScoreVM();
     this.Score.UpdateScores(party.Name, party.Remain, party.KillCount, party.Wounded, party.RunAway, party.Killed, 0);
     this._members = new MBBindingList <BattleHistorySPCharacterVM>();
     if (null != this._party.Characters && this._party.Characters.Count > 0)
     {
         this._party.Characters.Sort((x, y) => {
             return(-1 * x.KillCount.CompareTo(y.KillCount));
         });
         this._party.Characters.ForEach(obj =>
         {
             if (null != obj)
             {
                 this._members.Add(new BattleHistorySPCharacterVM(obj));
             }
         }
                                        );
     }
 }