private void Remove_Duplicate_EncounterPlayerRole_Records()
        {
            int i = 0;
            var encounterPlayerRoleIdsToRemove = new List <long>();
            var playerRoles = _encounterPlayerRoleRepository.GetAll().GroupBy(r => r.EncounterId);

            foreach (var pGroup in playerRoles)
            {
                var playerId = -1;
                foreach (var playerRole in pGroup)
                {
                    if (playerRole.PlayerId == playerId)
                    {
                        //_logger.Debug(string.Format("Found a duplicate for encounter {0}: Player ID {1} exists more than once", pGroup.Key, playerRole.PlayerId));
                        i++;
                        encounterPlayerRoleIdsToRemove.Add(playerRole.Id);
                    }
                    //else
                    //{
                    //    _logger.Debug(string.Format("Encounter {0}: first time seeing player {1}", pGroup.Key, playerRole.PlayerId));
                    //}
                    playerId = playerRole.PlayerId;
                }
            }
            _logger.Debug($"Found {i} duplicates!");
            if (encounterPlayerRoleIdsToRemove.Any())
            {
                _encounterPlayerRoleRepository.RemoveDuplicates(encounterPlayerRoleIdsToRemove,
                                                                User.Identity.GetUserId());
            }
            else
            {
                _logger.Debug("No duplicate EncounterPlayerRole records to remove!");
            }
        }