private static void WebValidationOperations(ISharePointWebValidationService spWebValidationService) { Task <List <string> > t_missingGroups = Task.Factory.StartNew <List <string> >(() => { logger.Log(LogLevel.Info, $"Checking for missing web groups"); return(spWebValidationService.MissingWebGroups()); } ); Task <List <UserGroupStatus> > t_missingUsersInGroups = Task.Factory.StartNew <List <UserGroupStatus> >(() => { logger.Log(LogLevel.Info, $"Checking for missing users in groups"); return(spWebValidationService.MissingUsersInGroups()); } ); Task.WaitAll(new Task[] { t_missingGroups, t_missingUsersInGroups }); if (t_missingGroups.Result.Count > 0) { CsvWriterHelper.WriteCsvRecords(t_missingGroups.Result, Path.Combine(dirInfo.FullName, "missingGroups.csv")); } if (t_missingUsersInGroups.Result.Count > 0) { CsvWriterHelper.WriteCsvRecords(t_missingUsersInGroups.Result, Path.Combine(dirInfo.FullName, "missingUsersInGroups.csv")); } }
private static void SiteCollectionValidationOperations(ISharePointWebValidationService spWebValidationService) { watch.Restart(); logger.Log(LogLevel.Info, $"Checking for missing site content types"); var missingContentTypes = spWebValidationService.MissingContentTypes(); if (missingContentTypes.Count > 0) { CsvWriterHelper.WriteCsvRecords(missingContentTypes, Path.Combine(dirInfo.FullName, "missingContentTypes.csv")); } watch.Stop(); logger.Log(LogLevel.Info, $"Missing site content types Elapsed Time: {watch.Elapsed.Seconds}"); watch.Restart(); logger.Log(LogLevel.Info, $"Checking for missing site columns"); var missingSiteColumns = spWebValidationService.MissingSiteColumns(); if (missingSiteColumns.Count > 0) { CsvWriterHelper.WriteCsvRecords(missingSiteColumns, Path.Combine(dirInfo.FullName, "missingSiteColumns.csv")); } watch.Stop(); logger.Log(LogLevel.Info, $"Missing site columns elapsed time: {watch.Elapsed.Seconds}"); logger.Log(LogLevel.Info, $"Checking for missing site groups"); var missingGroups = spWebValidationService.MissingSiteGroupsV1(); if (missingGroups.Count > 0) { CsvWriterHelper.WriteCsvRecords(missingGroups, Path.Combine(dirInfo.FullName, "missingSiteGroups.csv")); } watch.Stop(); logger.Log(LogLevel.Info, $"Missing Site Groups Elapsed Time: {watch.Elapsed.Seconds}"); //TODO: custom permission levels /* * logger.Log(LogLevel.Info, $"Checking for missing users in groups"); * var missingUsersInGroups = spWebValidationService.MissingUsersInGroups(); * if (missingUsersInGroups.Count > 0) * CsvWriterHelper.WriteCsvRecords(missingUsersInGroups, Path.Combine(dirInfo.FullName, "missingUsersInGroups.csv")); * * * logger.Log(LogLevel.Info, $"Checking for site user permissions"); * var mismatchUserPerms = spWebValidationService.CheckUserPermissions(); * if (mismatchUserPerms.Count > 0) * CsvWriterHelper.WriteCsvRecords(mismatchUserPerms, Path.Combine(dirInfo.FullName, "mismatchUserPerms.csv")); */ }
private static void WebValidationOperations(ISharePointWebValidationService spWebValidationService) { logger.Log(LogLevel.Info, $"Checking for mismatches in web permissions inheritance"); var mismatchWebPermsInheritance = spWebValidationService.CheckWebPermissionsInheritance(); if (mismatchWebPermsInheritance.Count > 0) { CsvWriterHelper.WriteCsvRecords(mismatchWebPermsInheritance, Path.Combine(dirInfo.FullName, "mismatchWebPermsInheritance.csv")); } logger.Log(LogLevel.Info, $"Checking for missing web groups"); var missingGroups = spWebValidationService.MissingWebGroups(); if (missingGroups.Count > 0) { CsvWriterHelper.WriteCsvRecords(missingGroups, Path.Combine(dirInfo.FullName, "missingWebGroups.csv")); } }
private static void SiteCollectionValidationOperations(ISharePointWebValidationService spWebValidationService) { Task <List <UserPermStatus> > t_mismatchUserPerms = Task.Factory.StartNew <List <UserPermStatus> >(() => { logger.Log(LogLevel.Info, $"Checking for site user permissions"); return(spWebValidationService.CheckUserPermissions()); }); Task <List <string> > t_missingContentTypes = Task.Factory.StartNew <List <string> >(() => { logger.Log(LogLevel.Info, $"Checking for missing site content types"); return(spWebValidationService.MissingContentTypes()); }); Task <List <SPField> > t_missingSiteColumns = Task.Factory.StartNew <List <SPField> >(() => { logger.Log(LogLevel.Info, $"Checking for missing site columns"); return(spWebValidationService.MissingSiteColumns()); }); Task.WaitAll(new Task[] { t_mismatchUserPerms, t_missingContentTypes, t_missingSiteColumns }); if (t_mismatchUserPerms.Result.Count > 0) { CsvWriterHelper.WriteCsvRecords(t_mismatchUserPerms.Result, Path.Combine(dirInfo.FullName, "mismatchUserPerms.csv")); } if (t_missingContentTypes.Result.Count > 0) { CsvWriterHelper.WriteCsvRecords(t_missingContentTypes.Result, Path.Combine(dirInfo.FullName, "missingContentTypes.csv")); } if (t_missingSiteColumns.Result.Count > 0) { CsvWriterHelper.WriteCsvRecords(t_missingSiteColumns.Result, Path.Combine(dirInfo.FullName, "missingSiteColumns.csv")); } }