public CategoryServices( ILogger <CategoryServices> logger, IssueTrackerDbContext dbContext, ICategoryRepository CategoryRepository, ITransactionRepository TransactionRepository ) { Logger = logger; DbContext = dbContext; this.CategoryRepository = CategoryRepository; this.TransactionRepository = TransactionRepository; }
public TicketStatusServices( ILogger <TicketStatusServices> logger, IssueTrackerDbContext dbContext, ITicketStatusRepository TicketStatusRepository, ITransactionRepository TransactionRepository ) { Logger = logger; DbContext = dbContext; this.TicketStatusRepository = TicketStatusRepository; this.TransactionRepository = TransactionRepository; }
public UserServices( ILogger <UserServices> logger, IssueTrackerDbContext dbContext, IUserRepository UserRepository, ITransactionRepository TransactionRepository ) { Logger = logger; DbContext = dbContext; this.UserRepository = UserRepository; this.TransactionRepository = TransactionRepository; }
public static IssueTrackerDbContext Create() { var options = new DbContextOptionsBuilder <IssueTrackerDbContext>().UseInMemoryDatabase(Guid.NewGuid().ToString()).Options; var context = new IssueTrackerDbContext(options); context.Database.EnsureCreated(); context.SaveChanges(); return(context); }
public static void Run(IssueTrackerDbContext dbContext) { List <ISeed> list = new List <ISeed> { new SeedUserData(dbContext), new SeedTicketData(dbContext), }; list.ForEach(item => { item.RunSeed(); }); list.Clear(); }
public ActionResult Index() { var db = new IssueTrackerDbContext(); if (User.Identity.IsAuthenticated) { var unresolvedIssues = db.Issues.Where(a => a.State != State.Closed && a.State != State.Fixed); ViewBag.UnresolvedIssuesCount = unresolvedIssues.Count(); var currentUser = db.Users.Find(User.Identity.GetUserId()); ViewBag.Username = currentUser.FullName.Split(' ')[0]; ViewBag.UserAssignedUnresolvedIssuesCount = unresolvedIssues.Count(a => a.Assignee.Id == currentUser.Id); } return(View()); }
protected override void ConfigureWebHost(IWebHostBuilder builder) { builder.ConfigureServices(services => { services.AddDbContextPool <IssueTrackerDbContext>(options => { options.UseInMemoryDatabase("InMemoryAppDb"); options.UseInternalServiceProvider( new ServiceCollection() .AddEntityFrameworkInMemoryDatabase() .BuildServiceProvider() ); }, 1); ServiceProvider serviceProvider = services.BuildServiceProvider(); using IServiceScope scope = serviceProvider.CreateScope(); IServiceProvider scopedServices = scope.ServiceProvider; IssueTrackerDbContext applicationDatabase = scopedServices.GetRequiredService <IssueTrackerDbContext>(); ILogger <IntegrationTestWebAppFactory <TStartup> > logger = scopedServices.GetRequiredService <ILogger <IntegrationTestWebAppFactory <TStartup> > >(); // Belum Ketemu Destroy DB Test Sebelumnya dari Memory, // DB Context Singleton Pool try { applicationDatabase.Database.EnsureDeleted(); applicationDatabase.Database.EnsureCreated(); } catch (Exception ex) { logger.LogError(ex, "An error occured while preparing test database. Info: {ex.Message}"); } try { SeedRunner.Run(applicationDatabase); } catch (Exception ex) { logger.LogError(ex, "An error occured while populating test data. Info: {ex.Message}"); } }); }
public IssuesRepository(IssueTrackerDbContext context) { _context = context; }
public TicketStatusRepository(IssueTrackerDbContext dbContext) : base(dbContext) { }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IssueTrackerDbContext dbContext, ILoggerFactory loggerFactory) { AppConfig appConfig = Configuration.GetSection("AppConfig").Get <AppConfig>(); List <AppLoggerConfiguration> loggerConfigs = new List <AppLoggerConfiguration> { new AppLoggerConfiguration { LogLevel = LogLevel.Error, EventId = 0, }, new AppLoggerConfiguration { LogLevel = LogLevel.Warning, EventId = 0, }, }; loggerConfigs.ForEach(item => { using AppLoggerProvider logger = new AppLoggerProvider(item, dbContext); loggerFactory?.AddProvider(logger); }); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); app.UseSwagger(u => { u.SerializeAsV2 = true; }); app.UseSwaggerUI(u => { u.SwaggerEndpoint("/swagger/v1/swagger.json", "Issue Tracker API"); }); // TIDAK DIREKOMENDASIKAN AUTO MIGRATE DI PRODUCTION // KARENA BELUM TENTU HANDLE MIGRASI DATA & RUN APPS NYA LAMA dbContext?.Database.Migrate(); SeedRunner.Run(dbContext); } else { app.UseExceptionHandler("/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } if (appConfig.UseHttps) { app.UseHttpsRedirection(); } app.UseStaticFiles(); app.UseSpaStaticFiles(); app.UseRouting(); app.UseJwtInCookie(); app.UseAuthentication(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default", pattern: "{controller}/{action=Index}/{id?}"); }); app.UseSpa(spa => { spa.Options.SourcePath = "ClientApp"; if (env.IsDevelopment()) { spa.UseReactDevelopmentServer(npmScript: "start"); } }); }
public ASeedData(IssueTrackerDbContext dbContext) { DbContext = dbContext; }
public CommandTestBase() { _context = ContextFactory.Create(); _mapperMock = new Mock <IMapper>(); }
public SeedUserData(IssueTrackerDbContext dbContext) : base(dbContext) { }
public LabelsService(IssueTrackerDbContext db, UserManager <User> userManager) : base(db, userManager) { }
public CategoryRepository(IssueTrackerDbContext dbContext) : base(dbContext) { }
protected AbstractService(IssueTrackerDbContext db, UserManager <User> userManager) { this.db = db; this.userManager = userManager; }
public ABaseRepository(IssueTrackerDbContext dbContext) { DbContext = dbContext; }
public DepartmentRepository(IssueTrackerDbContext dbContext) { _dbContext = dbContext; }
public SeedTicketData(IssueTrackerDbContext dbContext) : base(dbContext) { }
public UserRepository(IssueTrackerDbContext dbContext) : base(dbContext) { }
public static void Destroy(IssueTrackerDbContext context) { context.Database.EnsureDeleted(); context.Dispose(); }
public PrioritiesService(IssueTrackerDbContext db, UserManager <User> userManager) : base(db, userManager) { }
public TransactionRepository(IssueTrackerDbContext dbContext) { DbContext = dbContext; }
public IssueRepository(IssueTrackerDbContext dbContext) { _dbContext = dbContext; }