Ejemplo n.º 1
0
        public InstanceResolverResult ResolvePossibleData(object baseObject, object data, PropertyInfo property)
        {
            LanguageInfo[] languageInfos = (LanguageInfo[])data;
            if (languageInfos == null)
            {
                languageInfos = new LanguageInfo[0];
            }
            LanguageInfo[] editorLanguages = FortLanguage.ResolveLanguageEditorInfo()
                                             .Languages;
            LanguageInfo[] possibleLanguages =
                editorLanguages.Where(info => languageInfos.All(languageInfo => languageInfo.Id != info.Id))
                .ToArray();
            InstanceResolverResult result = new InstanceResolverResult
            {
                PossibleInstanceTokens =
                    possibleLanguages.Select(language => new InstanceToken(language.Name, language)).ToArray(),
                PresentableInstanceTokens =
                    languageInfos.Where(info => editorLanguages.Any(languageInfo => languageInfo.Id == info.Id))
                    .Select(info => new InstanceToken(info.Name, info))
                    .ToArray(),
                IsEditable          = false,
                UseValueTypeForEdit = false
            };

            return(result);
        }
Ejemplo n.º 2
0
        public InstanceResolverResult ResolvePossibleData(object baseObject, object data, PropertyInfo property)
        {
            LanguageInfo[]         editorLanguages = FortLanguage.ResolveLanguageEditorInfo().Languages;
            InstanceResolverResult result          = new InstanceResolverResult
            {
                PossibleInstanceTokens =
                    InfoResolver.Resolve <FortInfo>().Language.ActiveLanguages.Where(
                        info => editorLanguages.Any(languageInfo => languageInfo.Id == info.Id))
                    .Select(info => new InstanceToken(info.Name, info))
                    .ToArray()
            };
            InstanceToken instanceToken =
                result.PossibleInstanceTokens.FirstOrDefault(token => ReferenceEquals(token.Value, data));

            result.PresentableInstanceTokens = instanceToken == null ? new InstanceToken[0] : new[] { instanceToken };
            return(result);
        }