Exemple #1
0
        protected List <PresetItem> GetUserStatesWithUniqueDisplayNames(UserStateAttributeValueToken target)
        {
            var allUserState          = _context.GetUserStates().Select(x => new UserStateSearchItem(x)).ToList();
            var suggestibleUserStates = GetValidUserStatesList(target);

            var userStatesWithUniqueDisplayNames = GetObjectsWithUniqueNames(allUserState, x => x.State.Title, x => x.State.Name);
            var resultUserStates = userStatesWithUniqueDisplayNames.Where(x => !string.IsNullOrEmpty(x.Key))
                                   .Select(x =>
            {
                var suggestibleUserState = suggestibleUserStates.FirstOrDefault(ss => ss.State.Name.Equals(x.Value.State.Name, StringComparison.OrdinalIgnoreCase));

                var presetItem = new PresetItem(
                    id: x.Value.State.Id.ToString(),
                    displayValue: x.Key,
                    hint: x.Value.State.IsDeleted ? "Deleted state" : null,
                    isVisible: suggestibleUserState != null,
                    isDeleted: x.Value.State.IsDeleted)
                {
                    Tooltip = suggestibleUserState?.Tooltip
                };

                return(presetItem);
            })
                                   .ToList();

            return(resultUserStates);
        }