Catel.ReSharper.CatelProperties.Workflows.ExposeModelPropertyDataWorkflow.ExposeModelPropertyDataWorkflow.IsAvailable C# (CSharp) Method

IsAvailable() public method

public IsAvailable ( IDataContext dataContext ) : bool
dataContext IDataContext
return bool
        public override bool IsAvailable(IDataContext dataContext)
        {
            Argument.IsNotNull(() => dataContext);
            IGeneratorContextFactory generatorContextFactory = null;

            var solution = dataContext.GetData(DataConstants.SOLUTION);
            if (solution != null)
            {
                var generatorManager = GeneratorManager.GetInstance(solution);
                if (generatorManager != null)
                {
                    var languageType = generatorManager.GetPsiLanguageFromContext(dataContext);
                    if (languageType != null)
                    {
                        generatorContextFactory = LanguageManager.Instance.TryGetService<IGeneratorContextFactory>(languageType);
                    }
                }
            }

            return generatorContextFactory != null;
        }
ExposeModelPropertyDataWorkflow.ExposeModelPropertyDataWorkflow