public string DeleteUser(int userID) { JMMUserRepository repUsers = new JMMUserRepository(); try { JMMUser jmmUser = repUsers.GetByID(userID); if (jmmUser == null) return "User not found"; // make sure that at least one user is an admin if (jmmUser.IsAdmin == 1) { bool adminExists = false; List<JMMUser> users = repUsers.GetAll(); foreach (JMMUser userOld in users) { if (userOld.IsAdmin == 1) { if (userOld.JMMUserID != jmmUser.JMMUserID) adminExists = true; } } if (!adminExists) return "At least one user must be an administrator"; } repUsers.Delete(userID); // delete all user records AnimeSeries_UserRepository repSeries = new AnimeSeries_UserRepository(); foreach (AnimeSeries_User ser in repSeries.GetByUserID(userID)) repSeries.Delete(ser.AnimeSeries_UserID); AnimeGroup_UserRepository repGroup = new AnimeGroup_UserRepository(); foreach (AnimeGroup_User grp in repGroup.GetByUserID(userID)) repGroup.Delete(grp.AnimeGroup_UserID); AnimeEpisode_UserRepository repEpisode = new AnimeEpisode_UserRepository(); foreach (AnimeEpisode_User ep in repEpisode.GetByUserID(userID)) repEpisode.Delete(ep.AnimeEpisode_UserID); VideoLocal_UserRepository repVids = new VideoLocal_UserRepository(); foreach (VideoLocal_User vid in repVids.GetByUserID(userID)) repVids.Delete(vid.VideoLocal_UserID); } catch (Exception ex) { logger.ErrorException(ex.ToString(), ex); return ex.Message; } return ""; }