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(); }
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); }
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(); }