Example #1
0
        /// <summary>
        /// Updates the characters list with the given CCP data.
        /// </summary>
        /// <param name="identities"></param>
        private void ImportIdentities(IEnumerable <ISerializableCharacterIdentity> identities)
        {
            // Clear the API key on this character
            foreach (CharacterIdentity id in EveMonClient.CharacterIdentities.Where(id => id.APIKeys.Contains(this)))
            {
                id.APIKeys.Remove(this);
            }

            // Return if there were errors in the query
            if (identities == null)
            {
                return;
            }

            // Assign owned identities to this API key
            List <ISerializableCharacterIdentity> serializableCharacterIdentities = identities.ToList();

            foreach (CharacterIdentity id in serializableCharacterIdentities.Select(
                         serialID => EveMonClient.CharacterIdentities[serialID.ID] ??
                         EveMonClient.CharacterIdentities.Add(serialID.ID, serialID.Name)))
            {
                // Update the other info as they may have changed
                ISerializableCharacterIdentity characterIdentity = serializableCharacterIdentities.First(x => x.ID == id.CharacterID);
                id.CorporationID   = characterIdentity.CorporationID;
                id.CorporationName = characterIdentity.CorporationName;
                id.AllianceID      = characterIdentity.AllianceID;
                id.AllianceName    = characterIdentity.AllianceName;
                id.FactionID       = characterIdentity.FactionID;
                id.FactionName     = characterIdentity.FactionName;

                // Add the API key to the identity
                id.APIKeys.Add(this);

                if (id.CCPCharacter == null)
                {
                    continue;
                }

                // Update the other info
                id.CCPCharacter.CorporationID   = id.CorporationID;
                id.CCPCharacter.CorporationName = id.CorporationName;
                id.CCPCharacter.AllianceID      = id.AllianceID;
                id.CCPCharacter.AllianceName    = id.AllianceName;
                id.CCPCharacter.FactionID       = id.FactionID;
                id.CCPCharacter.FactionName     = id.FactionName;

                // Notify subscribers
                EveMonClient.OnCharacterUpdated(id.CCPCharacter);
            }

            m_characterListUpdated = true;

            // Fires the event regarding the character list update
            EveMonClient.OnCharacterListUpdated(this);

            // API collection changed, so we'll need to reprocess accounts.
            EveMonClient.OnAPIKeyCollectionChanged();
        }
Example #2
0
 /// <summary>
 /// Gets the character identity.
 /// </summary>
 /// <param name="character">The character.</param>
 /// <returns></returns>
 // Retrieve the identity and create one if needed
 private static CharacterIdentity GetIdentity(ISerializableCharacterIdentity character)
     => EveMonClient.CharacterIdentities[character.ID] ??
        EveMonClient.CharacterIdentities.Add(character.ID, character.Name,
            character.CorporationID, character.CorporationName,
            character.AllianceID, character.AllianceName,
            character.FactionID, character.FactionName);
Example #3
0
 /// <summary>
 /// Gets the character identity.
 /// </summary>
 /// <param name="character">The character.</param>
 /// <returns></returns>
 // Retrieve the identity and create one if needed
 private static CharacterIdentity GetIdentity(ISerializableCharacterIdentity character)
 => EveMonClient.CharacterIdentities[character.ID] ??
 EveMonClient.CharacterIdentities.Add(character.ID, character.Name);
Example #4
0
 /// <summary>
 /// Gets the character identity.
 /// </summary>
 /// <param name="character">The character.</param>
 /// <returns></returns>
 // Retrieve the identity and create one if needed
 private static CharacterIdentity GetIdentity(ISerializableCharacterIdentity character)
 => EveMonClient.CharacterIdentities[character.ID] ??
 EveMonClient.CharacterIdentities.Add(character.ID, character.Name,
                                      character.CorporationID, character.CorporationName,
                                      character.AllianceID, character.AllianceName,
                                      character.FactionID, character.FactionName);