public IActionResult DeleteScorecard(Guid id)
        {
            var scorecard = _database.Scorecards.Find(id);

            if (scorecard != null)
            {
                _database.Scorecards.Remove(scorecard);

                var scorecardTests = _database.ScorecardTests.Where(t => t.ScorecardID == scorecard.ID).ToList();
                scorecardTests.ForEach(t =>
                {
                    _database.ScorecardTests.Remove(t);
                });

                var inProgress = _database.ScorecardsInProgress.Where(p => p.ScorecardID == scorecard.ID).ToList();
                inProgress.ForEach(p =>
                {
                    _database.ScorecardsInProgress.Remove(p);
                });

                _database.SaveChanges();

                LoggingUtil.AddEntry(User.Identity.Name, $"Deleted scorecard: {scorecard.Name}");
            }

            return(RedirectToAction("Index"));
        }
        public IActionResult Error(Exception ex)
        {
            LoggingUtil.AddEntry("EXCEPTION", ex.Message);

            return(View(new ErrorViewModel {
                RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier
            }));
        }
Пример #3
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseDatabaseErrorPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/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();
            }

            app.UseStaticFiles();

            app.UseAuthentication();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });


            LoggingUtil.Initialize();

            try
            {
                using (var serviceScope = app.ApplicationServices.CreateScope())
                {
                    var context = serviceScope.ServiceProvider.GetService <ApplicationDbContext>();

                    context.Database.Migrate();

                    RoleHelper.SeedAppRoles(context);
                }

                LoggingUtil.AddEntry("APP", "Application started up and applied database migrations.");
            }
            catch (Exception ex)
            {
                LoggingUtil.AddEntry("APP", $"Exception occurred applying database migrations: {ex.Message}");
            }
        }
        public IActionResult DeleteUser(Guid id)
        {
            // This needs to be a confirmation page with deletion on post
            var userInfo     = _database.UserInfos.Find(id);
            var identityUser = _database.AspNetUsers.Find(id.ToString());

            if (userInfo == null)
            {
                return(NotFound());
            }

            if (identityUser != null)
            {
                _database.AspNetUsers.Remove(identityUser);
            }

            _database.UserInfos.Remove(userInfo);
            _database.SaveChanges();

            LoggingUtil.AddEntry(User.Identity.Name, $"Deleted user {userInfo.Name}");

            return(RedirectToAction("Users"));
        }