Пример #1
0
        private void Compile_OnClick(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(FileSelected))
            {
                MessageBox.Show("No C# File Selected");
                return;
            }

            string visibility = VisibilityCombo.SelectedValue as string;
            string strategy   = StrategyCombo.SelectedValue as string;

            IGeneratorConfiguration configuration = ConfigurationProvider.GetConfiguration(FileSelected);

            configuration.Visibility           = GetVisibility(visibility);
            configuration.Strategy             = GetStrategy(strategy);
            configuration.OverrideExistingFile = GetOverride();
            configuration.OutputPath           = GetOutputPath();

            try
            {
                var translator = TranslateProvider.GetTranslator(AccessType.SourceCode, GeneratorType.TypeScript, configuration);
                translator.Compile();
                translator.Flush();
                MessageBox.Show("File has been generated [" + configuration.OutputPath + "]");
            }
            catch (Exception ex)
            {
                MessageBox.Show($"File Generation Failed: {ex.Message}");
            }



            //////////// TEST

            var assemblyConf = ConfigurationProvider.GetConfiguration("dll");

            assemblyConf.OutputPath           = configuration.OutputPath;
            assemblyConf.OverrideExistingFile = true;
            assemblyConf.Strategy             = InclusionStrategy.PropertiesAndFields;

            var roslynTranslator   = TranslateProvider.GetTranslator(AccessType.SourceCode, GeneratorType.TypeScript, configuration);
            var assemblyTranslator = TranslateProvider.GetTranslator(AccessType.Assembly, GeneratorType.TypeScript, assemblyConf);

            var solutionConfiguration = new SolutionConfiguration()
            {
                LinkStrategy = LinkStrategy.Link
            };
            var solution = TranslateProvider.GetSolutionTranslator(solutionConfiguration, roslynTranslator, assemblyTranslator);

            solution.Compile();
            solution.Flush();
        }
Пример #2
0
 internal TranslateContext(IContextService contextService, TranslateOptions options)
 {
     Provider              = contextService.Provider;
     ContextType           = contextService.ContextType;
     ServiceProvider       = contextService.ServiceProvider;
     TranslateProvider     = Provider.GetTranslateProvider();
     SyntaxProvider        = Provider.GetService <ISyntaxProvider>();
     InstanceName          = contextService.As <IEntityPersistentInstanceContainer, string>(s => s.InstanceName);
     PersistentEnvironment = contextService.As <IEntityPersistentEnvironment, EntityPersistentEnvironment>(s => s.Environment);
     QueryPolicy           = contextService.As <IQueryPolicyAware, IQueryPolicy>(s => s.QueryPolicy);
     Options    = options;
     Translator = TranslateProvider.CreateTranslator(this);
 }
Пример #3
0
        public void ShouldDoItsJob_WhenAsked()
        {
            var assemblyConf = ConfigurationProvider.GetConfiguration(@"C:\Lab\P2.Marlin\P2.Marlin\bin\Debug\netcoreapp2.2\P2.Marlin.dll");

            assemblyConf.OutputPath           = @"C:\Users\JuH\Desktop\ReflectionModel";
            assemblyConf.OverrideExistingFile = true;
            assemblyConf.Strategy             = InclusionStrategy.PropertiesAndFields;

            var assemblyTranslator = TranslateProvider.GetTranslator(AccessType.Assembly, GeneratorType.TypeScript, assemblyConf);

            var solutionConf = new SolutionConfiguration()
            {
                LinkStrategy = LinkStrategy.Link
            };
            var solution = TranslateProvider.GetSolutionTranslator(solutionConf, assemblyTranslator);

            solution.Compile();
            solution.Flush();
        }