/// <summary>
        /// Takes care that the user's participation type gets updated for the given raid.
        /// </summary>
        /// <param name="user"></param>
        /// <param name="raidID"></param>
        /// <param name="userParticipationType"></param>
        private void UpdateUserRaidParticipationType(User user, string raidID, UserParticipationType userParticipationType)
        {
            DbSet <RaidParticipation> raidParticipationCollection = this.DB.GetCollection <RaidParticipation>();

            lock (RaidParticipation.Lock)
            {
                RaidParticipation raidParticipation = raidParticipationCollection.Find(rp => rp.PublicID == raidID).First();
                UserSettings      userSettings      = UserSettings.GetOrCreateUserSettings(user, DB.GetCollection <UserSettings>());

                UserParticipation userParticipation = raidParticipation.Participants[userSettings.Team].FirstOrDefault(rp => rp.User.ID == user.ID);

                if (userParticipation != null)
                {
                    userParticipation.Type = userParticipationType;
                    raidParticipationCollection.Update(raidParticipation);
                }
            }
        }