Esempio n. 1
0
 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;
 }
Esempio n. 4
0
        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();
        }
Esempio n. 6
0
        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}");
                }
            });
        }
Esempio n. 8
0
 public IssuesRepository(IssueTrackerDbContext context)
 {
     _context = context;
 }
 public TicketStatusRepository(IssueTrackerDbContext dbContext) : base(dbContext)
 {
 }
Esempio n. 10
0
        // 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");
                }
            });
        }
Esempio n. 11
0
 public ASeedData(IssueTrackerDbContext dbContext)
 {
     DbContext = dbContext;
 }
Esempio n. 12
0
 public CommandTestBase()
 {
     _context    = ContextFactory.Create();
     _mapperMock = new Mock <IMapper>();
 }
 public SeedUserData(IssueTrackerDbContext dbContext) : base(dbContext)
 {
 }
Esempio n. 14
0
 public LabelsService(IssueTrackerDbContext db, UserManager <User> userManager) :
     base(db, userManager)
 {
 }
 public CategoryRepository(IssueTrackerDbContext dbContext) : base(dbContext)
 {
 }
Esempio n. 16
0
 protected AbstractService(IssueTrackerDbContext db, UserManager <User> userManager)
 {
     this.db          = db;
     this.userManager = userManager;
 }
Esempio n. 17
0
 public ABaseRepository(IssueTrackerDbContext dbContext)
 {
     DbContext = dbContext;
 }
Esempio n. 18
0
 public DepartmentRepository(IssueTrackerDbContext dbContext)
 {
     _dbContext = dbContext;
 }
Esempio n. 19
0
 public SeedTicketData(IssueTrackerDbContext dbContext) : base(dbContext)
 {
 }
 public UserRepository(IssueTrackerDbContext dbContext) : base(dbContext)
 {
 }
Esempio n. 21
0
        public static void Destroy(IssueTrackerDbContext context)
        {
            context.Database.EnsureDeleted();

            context.Dispose();
        }
Esempio n. 22
0
 public PrioritiesService(IssueTrackerDbContext db, UserManager <User> userManager) :
     base(db, userManager)
 {
 }
 public TransactionRepository(IssueTrackerDbContext dbContext)
 {
     DbContext = dbContext;
 }
Esempio n. 24
0
 public IssueRepository(IssueTrackerDbContext dbContext)
 {
     _dbContext = dbContext;
 }