Пример #1
0
        public void ProtoFileGeneratorCanGenerateFiles()
        {
            ProtoFileGenerator protoFileGenerator = new ProtoFileGenerator(new TypeSchemaGenerator(), new InMemoryPropertyNumberer());

            protoFileGenerator.GenerateProtoFile(typeof(Left));
            OutLine(new DirectoryInfo(protoFileGenerator.OutputDirectory).FullName);
        }
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Error");
                app.UseHsts();
            }

            app.UseHttpsRedirection();
            app.UseStaticFiles();

            app.UseRouting();

            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapRazorPages();
            });

            Task.Run(async() =>
            {
                if (await Electron.App.CommandLine.HasSwitchAsync("assembly-file") &&
                    await Electron.App.CommandLine.HasSwitchAsync("target-path"))
                {
                    var assemblyFilePath = await Electron.App.CommandLine.GetSwitchValueAsync("assembly-file");
                    var destinationPath  = await Electron.App.CommandLine.GetSwitchValueAsync("target-path");

                    var protoFileGenerator = new ProtoFileGenerator();
                    protoFileGenerator.SaveProtoFile(assemblyFilePath, destinationPath);

                    Console.WriteLine("Successfull generated!");
                    Electron.App.Exit();
                }
                else
                {
                    var browserWindowOptions = new BrowserWindowOptions
                    {
                        WebPreferences = new WebPreferences
                        {
                            WebSecurity = false
                        },
                        Show = false
                    };

                    var mainWindow            = await Electron.WindowManager.CreateWindowAsync(browserWindowOptions);
                    mainWindow.OnReadyToShow += () => mainWindow.Show();
                    mainWindow.SetMenuBarVisibility(false);
                }
            });
        }
Пример #3
0
        public void OnGet()
        {
            Electron.IpcMain.On("assemblyPathBtn-selectDirectory", async(args) => {
                var mainWindow = Electron.WindowManager.BrowserWindows.First();
                var options    = new OpenDialogOptions
                {
                    Properties = new OpenDialogProperty[] {
                        OpenDialogProperty.openFile
                    }
                };

                string[] files = await Electron.Dialog.ShowOpenDialogAsync(mainWindow, options);
                Electron.IpcMain.Send(mainWindow, "assemblyPath-reply", files);
            });

            Electron.IpcMain.On("destinationPathBtn-selectDirectory", async(args) => {
                var mainWindow = Electron.WindowManager.BrowserWindows.First();
                var options    = new OpenDialogOptions
                {
                    Properties = new OpenDialogProperty[] {
                        OpenDialogProperty.openDirectory
                    }
                };

                string[] files = await Electron.Dialog.ShowOpenDialogAsync(mainWindow, options);
                Electron.IpcMain.Send(mainWindow, "destinationPathBtn-reply", files);
            });

            Electron.IpcMain.On("generate-schema", async(args) => {
                dynamic arguments    = args;
                var assemblyFilePath = arguments.paths[0].Value;
                var destinationPath  = arguments.paths[1].Value;

                var protoFileGenerator = new ProtoFileGenerator();
                protoFileGenerator.SaveProtoFile(assemblyFilePath, destinationPath);

                var options = new MessageBoxOptions("Successfull generated!")
                {
                    Type  = MessageBoxType.info,
                    Title = "Information"
                };
                await Electron.Dialog.ShowMessageBoxAsync(options);
            });
        }
Пример #4
0
        public void Generate(Data data)
        {
            ProtoFileGenerator fileGenerator = new ProtoFileGenerator(data);

            fileGenerator.Generate();
        }