public static async Task Main(string[] args) { var host = CreateHostBuilder(args).Build(); // If app is called with `fill` as first command line argument, // it will fill the connected database with demo data using // the `DemoDataGenerator` class. if (args.Length > 0 && args[0] == "fill") { // Create an EFCore data context from dependency injection's service collection using var scope = host.Services.CreateScope(); using var dc = scope.ServiceProvider.GetRequiredService <UserManagementDataContext>(); // Trigger filling of database var generator = new DemoDataGenerator(dc); await generator.ClearAll(); await generator.Fill(); Console.WriteLine("Database has been successfully filled"); return; } // We are not in "fill DB with demo data" mode. // Therefore, we start the web server for the web API. host.Run(); }
public static void Main(string[] args) { var host = CreateWebHostBuilder(args).Build(); using (var scope = host.Services.CreateScope()) { var services = scope.ServiceProvider; var context = services.GetRequiredService <BigSpenderContext>(); DemoDataGenerator.Initialize(services); } host.Run(); }
public void Configure() { InitializeLogging(); try { ResourceSpace.Uses.CustomDependency <IUnitOfWorkManager, NHibernateUnitOfWorkManager>(DependencyLifetime.Singleton); // Initialize OpenRasta/modules using (OpenRastaConfiguration.Manual) { ResourceSpace.Uses.UriDecorator <ContentTypeExtensionUriDecorator>(); ResourceSpace.Uses.CustomDependency <IOperationInterceptor, OperationInterceptor>(DependencyLifetime.PerRequest); ResourceSpace.Uses.CustomDependency <IMasonBuilderContext, MasonBuilderContext>(DependencyLifetime.PerRequest); Projects.ApplicationStarter.Start(); Issues.ApplicationStarter.Start(); Attachments.ApplicationStarter.Start(); Contact.ApplicationStarter.Start(); ResourceCommons.ApplicationStarter.Start(); JsonSchemas.ApplicationStarter.Start(); ResourceSpace.Has.ResourcesOfType <Resource>() .WithoutUri .TranscodedBy <IssueTrackerMasonCodec>(); } // Setup default data SessionManager.Restart(); SessionManager.ExecuteUnitOfWork(() => { IIssueRepository issueRepository = (IIssueRepository)ResourceSpace.Uses.Resolver.Resolve(typeof(IIssueRepository)); IProjectRepository projectRepository = (IProjectRepository)ResourceSpace.Uses.Resolver.Resolve(typeof(IProjectRepository)); IAttachmentRepository attachmentRepository = (IAttachmentRepository)ResourceSpace.Uses.Resolver.Resolve(typeof(IAttachmentRepository)); DemoDataGenerator.GenerateDemoData(issueRepository, projectRepository, attachmentRepository); }); ApplicationLifeTimeManager.Start(); } catch (Exception ex) { Logger.Fatal(ex); throw; } }
static void Main(string[] args) { var repositoryManagerApi = new RepositoryManagerApi(); var emloyeesListAction = new ShowEmployeesAction(repositoryManagerApi.GetEmployeeApi(), repositoryManagerApi.GetPositionApi(), repositoryManagerApi.GetRuleApi(), repositoryManagerApi.GetOwerworkApi(), repositoryManagerApi.GetPaymentApi(), repositoryManagerApi.GetHolidayApi()); var addAction = new AddAction(repositoryManagerApi.GetEmployeeApi(), repositoryManagerApi.GetPositionApi(), repositoryManagerApi.GetRuleApi(), repositoryManagerApi.GetOwerworkApi(), repositoryManagerApi.GetPaymentApi(), repositoryManagerApi.GetHolidayApi()); var removeAction = new RemoveAction(repositoryManagerApi.GetEmployeeApi(), repositoryManagerApi.GetPositionApi(), repositoryManagerApi.GetRuleApi()); var calculateAction = new CalculateAction(repositoryManagerApi.GetCalculatorApi(), repositoryManagerApi.GetEmployeeApi()); var demo = new DemoDataGenerator(repositoryManagerApi); demo.Generate(); new MenuBuilder() .Title("Main menu") .Repeatable() .Item("Show", emloyeesListAction) .Item("Calculate money and hourse", calculateAction) .Item("Add", addAction) .Item("Remove", removeAction) .Exit("Exit") .GetMenu() .Run(); }