public static UserInfoModel UpdateUserRole(ApplicationDbContext database, ClaimsPrincipal user, RoleType roleType) { var userInfo = GetContextUserInfo(database, user); var userRole = database.Roles.Find(userInfo.RoleID); if (userRole.Type == roleType) { return(userInfo); } var newRole = database.Roles.FirstOrDefault(r => r.Type == roleType); userInfo.RoleID = newRole.ID; database.UserInfos.Update(userInfo); database.SaveChanges(); LoggingUtil.AddEntry(user.Identity.Name, $"User role changed from {userRole.Name} to {newRole.Name}"); return(userInfo); }
public static async Task <bool> ImportApplicationData(ApplicationDbContext database, AppDataModel data) { try { // Categories foreach (var category in data.Categories) { var exists = await database.Categories.FirstOrDefaultAsync(x => x.ID == category.ID) != null; if (!exists) { database.Categories.Add(category); } } await database.SaveChangesAsync(); // CategoryTests foreach (var test in data.CategoryTests) { var exists = await database.Categories.FirstOrDefaultAsync(x => x.ID == test.ID) != null; if (!exists) { database.CategoryTests.Add(test); } } await database.SaveChangesAsync(); // Scorecards foreach (var scorecard in data.Scorecards) { var exists = await database.Scorecards.FirstOrDefaultAsync(x => x.ID == scorecard.ID) != null; if (!exists) { database.Scorecards.Add(scorecard); } } await database.SaveChangesAsync(); // ScorecardTests foreach (var test in data.ScorecardTests) { var exists = await database.ScorecardTests.FirstOrDefaultAsync(x => x.ID == test.ID) != null; if (!exists) { database.ScorecardTests.Add(test); } } await database.SaveChangesAsync(); // ScorecardsInProgress foreach (var progress in data.ScorecardsInProgress) { var exists = await database.ScorecardsInProgress.FirstOrDefaultAsync(x => x.ID == progress.ID) != null; if (!exists) { database.ScorecardsInProgress.Add(progress); } } await database.SaveChangesAsync(); // ScorecardResults foreach (var results in data.ScorecardResults) { var exists = await database.ScorecardResults.FirstOrDefaultAsync(x => x.ID == results.ID) != null; if (!exists) { database.ScorecardResults.Add(results); } } await database.SaveChangesAsync(); // Tasks foreach (var task in data.Tasks) { var exists = await database.Tasks.FirstOrDefaultAsync(x => x.ID == task.ID) != null; if (!exists) { database.Tasks.Add(task); } } await database.SaveChangesAsync(); // TaskHistory foreach (var history in data.TaskHistory) { var exists = await database.TaskHistory.FirstOrDefaultAsync(x => x.ID == history.ID) != null; if (!exists) { database.TaskHistory.Add(history); } } await database.SaveChangesAsync(); // TaskComments foreach (var comment in data.TaskComments) { var exists = await database.TaskComments.FirstOrDefaultAsync(x => x.ID == comment.ID) != null; if (!exists) { database.TaskComments.Add(comment); } } await database.SaveChangesAsync(); // Roles foreach (var role in data.Roles) { var exists = await database.Roles.FirstOrDefaultAsync(x => x.ID == role.ID) != null; if (!exists) { database.Roles.Add(role); } } await database.SaveChangesAsync(); return(true); } catch (Exception ex) { LoggingUtil.AddException(ex); return(false); } }
public static void Initialize() { _instance = new LoggingUtil(); }