public string setForumModUnassignmentPermissions(string forumName, modUnassignmentPermission permission, string requestingUser) { List <string> input = new List <string>() { forumName, requestingUser }; if (!Constants.isValidInput(input)) { return(Constants.INVALID_INPUT); } if (_um.getUserPermissionsForForum(forumName, requestingUser) < userManagement.permission.ADMIN) { return("Unauthorized user"); } Forum f = getForum(forumName); if (f == null) { return(Constants.forumDoesntExist(forumName)); } f.setModUnassignmentPermissions(permission); return(permission == f.getModUnassignmentPermissions() ? Constants.SUCCESS : Constants.FUNCTION_ERRROR); }
public string setForumModUnassignmentPermissions(string forumName, modUnassignmentPermission permission, string requestingUser) { List <string> input = new List <string>() { forumName }; if (Constants.isValidInput(input)) { lock (o) { if (_um.getUserPermissionsForForum(forumName, requestingUser) != WSEP_domain.userManagement.permission.SUPER_ADMIN && _um.getUserPermissionsForForum(forumName, requestingUser) != WSEP_domain.userManagement.permission.ADMIN) { return("Unauthorized user"); } if (!_fm.setForumModUnassignmentPermissions(forumName, permission)) { return(Constants.forumDoesntExist(forumName)); } return(Constants.SUCCESS); } } return(Constants.INVALID_INPUT); }
public void setModUnassignmentPermissions(modUnassignmentPermission permission) { if (_policy == null) { return; } _policy.setModUnassignmentPermission(permission); }
public void setModUnassignmentPermission(modUnassignmentPermission permission) { if (permission == modUnassignmentPermission.INVALID) { return; } _mup = permission; }
public ForumPolicy() { _maxNumOfAdmins = 10; _minNumOfAdmins = 1; _maxNumOfModerators = 10; _minNumOfModerators = 1; _pdp = postDeletionPermission.WRITER; _passwordLifespan = 365; _moderatorSeniority = 0; _mup = modUnassignmentPermission.ADMIN; }
public ForumPolicy(int maxNumOfAdmins, int minNumOfAdmins, int maxNumOfModerators, int minNumOfModerators, postDeletionPermission pdp, int passwordLifespan, int moderatorSeniority, modUnassignmentPermission mup) { _maxNumOfAdmins = maxNumOfAdmins; _minNumOfAdmins = minNumOfAdmins; _maxNumOfModerators = maxNumOfModerators; _minNumOfModerators = minNumOfModerators; _pdp = pdp; _passwordLifespan = passwordLifespan; _moderatorSeniority = moderatorSeniority; _mup = mup; }
public void setModUnassignmentPermissions(modUnassignmentPermission permission) { if (!ForumSystem._testFlag) { ForumPolicy fp = new ForumPolicy(); fp.setModUnassignmentPermission(permission); if (!setForumPolicy(fp)) { return; } } _policy.setModUnassignmentPermission(permission); }
private ForumPolicy getForumPolicy(string forumName) { List <Tuple <Tuple <int, int>, Tuple <int, int>, Tuple <int, int>, Tuple <int, int> > > policies = _db.ReturnforumPolicy(forumName); Tuple <Tuple <int, int>, Tuple <int, int>, Tuple <int, int>, Tuple <int, int> > policy = policies.ElementAt(0); postDeletionPermission pdp = postDeletionPermission.WRITER; switch (policy.Item3.Item1) { case 2: pdp = postDeletionPermission.WRITER; break; case 3: pdp = postDeletionPermission.MODERATOR; break; case 4: pdp = postDeletionPermission.ADMIN; break; case 5: pdp = postDeletionPermission.SUPER_ADMIN; break; } modUnassignmentPermission mup = modUnassignmentPermission.ADMIN; switch (policy.Item4.Item2) { case 2: mup = modUnassignmentPermission.ADMIN; break; case 3: mup = modUnassignmentPermission.ASSIGNING_ADMIN; break; case 4: mup = modUnassignmentPermission.SUPER_ADMIN; break; } return(new ForumPolicy(policy.Item1.Item1, policy.Item1.Item2, policy.Item2.Item1, policy.Item2.Item2, pdp, policy.Item3.Item2, policy.Item4.Item1, mup)); }
public bool setForumModUnassignmentPermissions(string forumName, modUnassignmentPermission permission) { List <string> input = new List <string>() { forumName }; if (!Constants.isValidInput(input)) { return(false); } Forum f = getForum(forumName); if (f == null) { return(false); } f.setModUnassignmentPermissions(permission); return(f.getModUnassignmentPermissions() == permission); }
private bool setForumPolicy(ForumPolicy p) { int i_pdp = 2; postDeletionPermission e_pdp = p.getPostDeletionPermissions(); switch (e_pdp) { case postDeletionPermission.MODERATOR: i_pdp = 3; break; case postDeletionPermission.ADMIN: i_pdp = 4; break; case postDeletionPermission.SUPER_ADMIN: i_pdp = 5; break; } int i_mup = 2; modUnassignmentPermission e_mup = p.getModUnassignmentPermissions(); switch (e_mup) { case modUnassignmentPermission.ASSIGNING_ADMIN: i_mup = 3; break; case modUnassignmentPermission.SUPER_ADMIN: i_mup = 4; break; } if (!ForumSystem._db.changeForumPolicy(p.getMaxAdmins(), p.getMinAdmins(), p.getMaxModerators(), p.getMinModerators(), _name, i_pdp, p.getPasswordLifespan(), p.getModeratorsSeniority(), i_mup)) { return(false); } return(true); }
public string setForumModUnassignmentPermissions(string forumName, modUnassignmentPermission permission, string requestingUser) { lock (syncLock) { List <string> strList = new List <string>(); List <int> intList = new List <int>(); strList.Add(forumName); strList.Add(requestingUser); int toAdd = 0; switch (permission) { case modUnassignmentPermission.ASSIGNING_ADMIN: toAdd = 3; break; case modUnassignmentPermission.SUPER_ADMIN: toAdd = 4; break; case modUnassignmentPermission.ADMIN: toAdd = 2; break; } intList.Add(toAdd); serverMessage ans = sendMessage("setForumModUnassignmentPermissions", strList, intList, DateTime.Now); if (ans._messageType.Equals(serverMessage.messageType.success)) { return("true"); } if (ans.stringContent.Count > 0) { return(ans.stringContent.ElementAt(0)); } return("error, not successful for unknown reason"); } }
private serverMessage parseServerMessage(serverMessage message) { List <string> strLst = new List <string>(); List <int> intLst = new List <int>(); DateTime date = new DateTime(); string forumName, user, scndUser, subforumName, ans, password; int number; switch (message._messageType) { case serverMessage.messageType.checkForumPolicy: forumName = message.stringContent.ElementAt(0); ans = forumSystem.checkForumPolicy(forumName, message.policy); if (ans.Equals("true")) { return(new serverMessage(serverMessage.messageType.success, new List <string>(), new List <int>(), date)); } strLst.Add(ans); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); case serverMessage.messageType.addForum: //Console.WriteLine("got to add forum"); if (checkArgs(message.stringContent, 2)) { strLst.Add("error, needed 2 arguments exactley"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); user = message.stringContent.ElementAt(1); ans = forumSystem.addForum(forumName, user); if (ans.Equals("true")) { return(new serverMessage(serverMessage.messageType.success, strLst, intLst, date)); } strLst.Add(ans); return(new serverMessage(serverMessage.messageType.unsuccess, strLst, intLst, date)); case serverMessage.messageType.addSubForum: if (checkArgs(message.stringContent, 4) & (checkArgs(message.intContent, message.stringContent.Count - 3))) { strLst.Add("error, arguments not valid"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); subforumName = message.stringContent.ElementAt(1); user = message.stringContent.ElementAt(2); List <Tuple <string, string, int> > tupleList = new List <Tuple <string, string, int> >(); for (int i = 0; i < (message.stringContent.Count - 3); i++) { tupleList.Add(new Tuple <string, string, int>(message.stringContent.ElementAt(i + 3), "", message.intContent.ElementAt(i))); } ans = forumSystem.addSubForum(forumName, subforumName, tupleList, user); if (ans.Equals("true")) { return(new serverMessage(serverMessage.messageType.success, strLst, intLst, date)); } strLst.Add(ans); return(new serverMessage(serverMessage.messageType.unsuccess, strLst, intLst, date)); case serverMessage.messageType.assignAdmin: if (checkArgs(message.stringContent, 3)) { strLst.Add("error, needed 4 arguments exactley"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); user = message.stringContent.ElementAt(1); scndUser = message.stringContent.ElementAt(2); ans = forumSystem.assignAdmin(forumName, user, scndUser); if (ans.Equals("true")) { return(new serverMessage(serverMessage.messageType.success, strLst, intLst, date)); } strLst.Add(ans); return(new serverMessage(serverMessage.messageType.unsuccess, strLst, intLst, date)); case serverMessage.messageType.registerMemberToForum: // Console.WriteLine("got to register member"); if (checkArgs(message.stringContent, 4)) { strLst.Add("error, needed 4 arguments exactley"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); user = message.stringContent.ElementAt(1); password = message.stringContent.ElementAt(2); string mail = message.stringContent.ElementAt(3); ans = forumSystem.registerMemberToForum(forumName, user, password, mail); if (ans.Equals("true")) { return(new serverMessage(serverMessage.messageType.success, strLst, intLst, date)); } strLst.Add(ans); return(new serverMessage(serverMessage.messageType.unsuccess, strLst, intLst, date)); case serverMessage.messageType.unassignAdmin: if (checkArgs(message.stringContent, 3)) { strLst.Add("error, needed 3 arguments exactley"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); user = message.stringContent.ElementAt(1); scndUser = message.stringContent.ElementAt(2); ans = forumSystem.unassignAdmin(forumName, user, scndUser); if (ans.Equals("true")) { return(new serverMessage(serverMessage.messageType.success, strLst, intLst, date)); } strLst.Add(ans); return(new serverMessage(serverMessage.messageType.unsuccess, strLst, intLst, date)); case serverMessage.messageType.assignModerator: if ((checkArgs(message.stringContent, 4)) & (checkArgs(message.intContent, 1))) { strLst.Add("error"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); subforumName = message.stringContent.ElementAt(1); user = message.stringContent.ElementAt(2); scndUser = message.stringContent.ElementAt(3); number = message.intContent.ElementAt(0); ans = forumSystem.assignModerator(forumName, subforumName, user, scndUser, number); if (ans.Equals("true")) { return(new serverMessage(serverMessage.messageType.success, strLst, intLst, date)); } strLst.Add(ans); return(new serverMessage(serverMessage.messageType.unsuccess, strLst, intLst, date)); case serverMessage.messageType.sendPM: if (checkArgs(message.stringContent, 4)) { strLst.Add("error, needed 4 arguments exactley"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); user = message.stringContent.ElementAt(1); scndUser = message.stringContent.ElementAt(2); ans = message.stringContent.ElementAt(3); ans = forumSystem.sendPM(forumName, user, scndUser, ans); if (ans.Equals("true")) { return(new serverMessage(serverMessage.messageType.success, strLst, intLst, date)); } strLst.Add(ans); return(new serverMessage(serverMessage.messageType.unsuccess, strLst, intLst, date)); case serverMessage.messageType.setForumMaxAdmins: if ((checkArgs(message.stringContent, 2)) & (checkArgs(message.intContent, 1))) { strLst.Add("error"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); user = message.stringContent.ElementAt(1); number = message.intContent.ElementAt(0); ans = forumSystem.setForumMaxAdmins(forumName, number, user); if (ans.Equals("true")) { return(new serverMessage(serverMessage.messageType.success, strLst, intLst, date)); } strLst.Add(ans); return(new serverMessage(serverMessage.messageType.unsuccess, strLst, intLst, date)); case serverMessage.messageType.setForumMinAdmins: if ((checkArgs(message.stringContent, 2)) & (checkArgs(message.intContent, 1))) { strLst.Add("error"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); user = message.stringContent.ElementAt(1); number = message.intContent.ElementAt(0); ans = forumSystem.setForumMinAdmins(forumName, number, user); if (ans.Equals("true")) { return(new serverMessage(serverMessage.messageType.success, strLst, intLst, date)); } strLst.Add(ans); return(new serverMessage(serverMessage.messageType.unsuccess, strLst, intLst, date)); case serverMessage.messageType.setForumMaxModerators: if ((checkArgs(message.stringContent, 2)) & (checkArgs(message.intContent, 1))) { strLst.Add("error"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); user = message.stringContent.ElementAt(1); number = message.intContent.ElementAt(0); ans = forumSystem.setForumMaxModerators(forumName, number, user); if (ans.Equals("true")) { return(new serverMessage(serverMessage.messageType.success, strLst, intLst, date)); } strLst.Add(ans); return(new serverMessage(serverMessage.messageType.unsuccess, strLst, intLst, date)); case serverMessage.messageType.setForumMinModerators: if ((checkArgs(message.stringContent, 2)) & (checkArgs(message.intContent, 1))) { strLst.Add("error"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); user = message.stringContent.ElementAt(1); number = message.intContent.ElementAt(0); ans = forumSystem.setForumMinModerators(forumName, number, user); if (ans.Equals("true")) { return(new serverMessage(serverMessage.messageType.success, strLst, intLst, date)); } strLst.Add(ans); return(new serverMessage(serverMessage.messageType.unsuccess, strLst, intLst, date)); case serverMessage.messageType.setForumPostDeletionPermissions: if ((checkArgs(message.stringContent, 2)) & (checkArgs(message.intContent, 1))) { strLst.Add("error"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); user = message.stringContent.ElementAt(1); number = message.intContent.ElementAt(0); postDeletionPermission pdp = postDeletionPermission.WRITER; switch (number) { case 2: pdp = postDeletionPermission.WRITER; break; case 3: pdp = postDeletionPermission.MODERATOR; break; case 4: pdp = postDeletionPermission.ADMIN; break; case 5: pdp = postDeletionPermission.SUPER_ADMIN; break; default: return(new serverMessage(serverMessage.messageType.unsuccess, strLst, intLst, date)); } ans = forumSystem.setForumPostDeletionPermissions(forumName, pdp, user); if (ans.Equals("true")) { return(new serverMessage(serverMessage.messageType.success, strLst, intLst, date)); } strLst.Add(ans); return(new serverMessage(serverMessage.messageType.unsuccess, strLst, intLst, date)); case serverMessage.messageType.setForumPasswordLifespan: if ((checkArgs(message.stringContent, 2)) & (checkArgs(message.intContent, 1))) { strLst.Add("error"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); user = message.stringContent.ElementAt(1); number = message.intContent.ElementAt(0); ans = forumSystem.setForumPasswordLifespan(forumName, number, user); if (ans.Equals("true")) { return(new serverMessage(serverMessage.messageType.success, strLst, intLst, date)); } strLst.Add(ans); return(new serverMessage(serverMessage.messageType.unsuccess, strLst, intLst, date)); case serverMessage.messageType.setForumModeratorsSeniority: if ((checkArgs(message.stringContent, 2)) & (checkArgs(message.intContent, 1))) { strLst.Add("error"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); user = message.stringContent.ElementAt(1); number = message.intContent.ElementAt(0); ans = forumSystem.setForumModeratorsSeniority(forumName, number, user); if (ans.Equals("true")) { return(new serverMessage(serverMessage.messageType.success, strLst, intLst, date)); } strLst.Add(ans); return(new serverMessage(serverMessage.messageType.unsuccess, strLst, intLst, date)); case serverMessage.messageType.setForumModUnassignmentPermissions: if ((checkArgs(message.stringContent, 2)) & (checkArgs(message.intContent, 1))) { strLst.Add("error"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); user = message.stringContent.ElementAt(1); number = message.intContent.ElementAt(0); modUnassignmentPermission mup = modUnassignmentPermission.ASSIGNING_ADMIN; switch (number) { case 2: mup = modUnassignmentPermission.ADMIN; break; case 3: mup = modUnassignmentPermission.ASSIGNING_ADMIN; break; case 4: mup = modUnassignmentPermission.SUPER_ADMIN; break; default: return(new serverMessage(serverMessage.messageType.unsuccess, strLst, intLst, date)); } ans = forumSystem.setForumModUnassignmentPermissions(forumName, mup, user); if (ans.Equals("true")) { return(new serverMessage(serverMessage.messageType.success, strLst, intLst, date)); } strLst.Add(ans); return(new serverMessage(serverMessage.messageType.unsuccess, strLst, intLst, date)); case serverMessage.messageType.writePost: if ((checkArgs(message.stringContent, 5)) & (checkArgs(message.intContent, 1))) { strLst.Add("error"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); subforumName = message.stringContent.ElementAt(1); user = message.stringContent.ElementAt(2); ans = message.stringContent.ElementAt(3); password = message.stringContent.ElementAt(4); number = message.intContent.ElementAt(0); ans = forumSystem.writePost(forumName, subforumName, number, user, ans, password); if (ans.Equals("true")) { return(new serverMessage(serverMessage.messageType.success, strLst, intLst, date)); } strLst.Add(ans); return(new serverMessage(serverMessage.messageType.unsuccess, strLst, intLst, date)); case serverMessage.messageType.setModeratorTrialTime: if ((checkArgs(message.stringContent, 4)) & (checkArgs(message.intContent, 1))) { strLst.Add("error"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); subforumName = message.stringContent.ElementAt(1); user = message.stringContent.ElementAt(2); scndUser = message.stringContent.ElementAt(3); number = message.intContent.ElementAt(0); ans = forumSystem.setModeratorTrialTime(forumName, subforumName, user, number, scndUser); if (ans.Equals("true")) { return(new serverMessage(serverMessage.messageType.success, strLst, intLst, date)); } strLst.Add(ans); return(new serverMessage(serverMessage.messageType.unsuccess, strLst, intLst, date)); case serverMessage.messageType.deletePost: if ((checkArgs(message.stringContent, 3)) & (checkArgs(message.intContent, 1))) { strLst.Add("error"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); subforumName = message.stringContent.ElementAt(1); user = message.stringContent.ElementAt(2); number = message.intContent.ElementAt(0); ans = forumSystem.deletePost(forumName, subforumName, number, user); if (ans.Equals("true")) { return(new serverMessage(serverMessage.messageType.success, strLst, intLst, date)); } strLst.Add(ans); return(new serverMessage(serverMessage.messageType.unsuccess, strLst, intLst, date)); case serverMessage.messageType.editPost: if ((checkArgs(message.stringContent, 3)) & (checkArgs(message.intContent, 1))) { strLst.Add("error"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); subforumName = message.stringContent.ElementAt(1); user = message.stringContent.ElementAt(2); ans = message.stringContent.ElementAt(3); number = message.intContent.ElementAt(0); ans = forumSystem.editPost(forumName, subforumName, number, user, ans); if (ans.Equals("true")) { return(new serverMessage(serverMessage.messageType.success, strLst, intLst, date)); } strLst.Add(ans); return(new serverMessage(serverMessage.messageType.unsuccess, strLst, intLst, date)); case serverMessage.messageType.getNumOfPostsInSubForum: if ((checkArgs(message.stringContent, 3)) & (checkArgs(message.intContent, 1))) { strLst.Add("error"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); subforumName = message.stringContent.ElementAt(1); user = message.stringContent.ElementAt(2); number = forumSystem.getNumOfPostsInSubForum(forumName, subforumName, user); if (number != -1) { intLst.Add(number); return(new serverMessage(serverMessage.messageType.success, strLst, intLst, date)); } return(new serverMessage(serverMessage.messageType.unsuccess, strLst, intLst, date)); case serverMessage.messageType.getListOfMemberMessages: if ((checkArgs(message.stringContent, 3)) & (checkArgs(message.intContent, 1))) { strLst.Add("error"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); user = message.stringContent.ElementAt(1); scndUser = message.stringContent.ElementAt(2); List <Tuple <string, string, DateTime, int> > returnForMemMesages = new List <Tuple <string, string, DateTime, int> >(); returnForMemMesages = forumSystem.getListOfMemberMessages(forumName, user, scndUser); if (returnForMemMesages != null) { if (returnForMemMesages.Count != 0) { return(new serverMessage(serverMessage.messageType.success, returnForMemMesages)); } } return(new serverMessage(serverMessage.messageType.unsuccess, returnForMemMesages)); case serverMessage.messageType.getListOfForummoderators: if ((checkArgs(message.stringContent, 2))) { strLst.Add("error"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); user = message.stringContent.ElementAt(1); List <Tuple <string, string, DateTime, string> > returnForMemMesages2 = new List <Tuple <string, string, DateTime, string> >(); returnForMemMesages2 = forumSystem.getListOfForumModerators(forumName, user); if (returnForMemMesages2 != null) { if (returnForMemMesages2.Count != 0) { return(new serverMessage(serverMessage.messageType.success, returnForMemMesages2)); } } return(new serverMessage(serverMessage.messageType.unsuccess, returnForMemMesages2)); case serverMessage.messageType.numOfForums: if ((checkArgs(message.stringContent, 1))) { strLst.Add("error"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } user = message.stringContent.ElementAt(0); number = forumSystem.numOfForums(user); if (number != -1) { intLst.Add(number); return(new serverMessage(serverMessage.messageType.success, strLst, intLst, date)); } return(new serverMessage(serverMessage.messageType.unsuccess, strLst, intLst, date)); /* case serverMessage.messageType.ForumsByUser: * if ((checkArgs(message.stringContent, 2))) * { * strLst.Add("error"); * return new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date); * } * user = message.stringContent.ElementAt(0); * scndUser = message.stringContent.ElementAt(1); * strLst = forumSystem.ForumsByUser(user, scndUser); * if (strLst.Count != 0) * { * * return new serverMessage(serverMessage.messageType.success, strLst, intLst, date); * } * return new serverMessage(serverMessage.messageType.unsuccess, strLst, intLst, date);*/ case serverMessage.messageType.getForums: List <string> forums = forumSystem.getForums(); return(new serverMessage(serverMessage.messageType.success, forums, intLst, date)); case serverMessage.messageType.getSubForums: if ((checkArgs(message.stringContent, 2))) { strLst.Add("error"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); user = message.stringContent.ElementAt(1); List <string> subForums = forumSystem.getSubForums(forumName, user); return(new serverMessage(serverMessage.messageType.success, subForums, intLst, date)); case serverMessage.messageType.getThreads: if ((checkArgs(message.stringContent, 3))) { strLst.Add("error"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); subforumName = message.stringContent.ElementAt(1); user = message.stringContent.ElementAt(2); List <Tuple <string, DateTime, int> > returnForMemMesages3 = new List <Tuple <string, DateTime, int> >(); returnForMemMesages3 = forumSystem.getThreads(forumName, subforumName, user); if (returnForMemMesages3 != null) { if (returnForMemMesages3.Count != 0) { return(new serverMessage(serverMessage.messageType.success, returnForMemMesages3)); } } return(new serverMessage(serverMessage.messageType.unsuccess, returnForMemMesages3)); case serverMessage.messageType.getThread: if ((checkArgs(message.stringContent, 3)) & checkArgs(message.intContent, 1)) { strLst.Add("error"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); subforumName = message.stringContent.ElementAt(1); user = message.stringContent.ElementAt(2); number = message.intContent.ElementAt(0); List <Tuple <string, string, DateTime, int, int, string, DateTime> > returnForMemMesages4 = new List <Tuple <string, string, DateTime, int, int, string, DateTime> >(); returnForMemMesages4 = forumSystem.getThread(forumName, subforumName, number, user); if (returnForMemMesages4 != null) { if (returnForMemMesages4.Count != 0) { return(new serverMessage(serverMessage.messageType.success, returnForMemMesages4)); } } return(new serverMessage(serverMessage.messageType.unsuccess, returnForMemMesages4)); case serverMessage.messageType.login: if ((checkArgs(message.stringContent, 3))) { strLst.Add("error"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); user = message.stringContent.ElementAt(1); password = message.stringContent.ElementAt(2); loginStatus ls = forumSystem.login(forumName, user, password); number = 1; switch (ls) { case loginStatus.FALSE: number = 1; break; case loginStatus.TRUE: number = 2; break; case loginStatus.UPDATE_PASSWORD: number = 3; break; } intLst.Add(number); return(new serverMessage(serverMessage.messageType.success, strLst, intLst, date)); case serverMessage.messageType.getUserPermissionsForForum: if ((checkArgs(message.stringContent, 2))) { strLst.Add("error"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); user = message.stringContent.ElementAt(1); permission p = forumSystem.getUserPermissionsForForum(forumName, user); number = 1; switch (p) { case permission.INVALID: number = 1; break; case permission.GUEST: number = 2; break; case permission.MEMBER: number = 3; break; case permission.ADMIN: number = 5; break; case permission.SUPER_ADMIN: number = 6; break; } intLst.Add(number); return(new serverMessage(serverMessage.messageType.success, strLst, intLst, date)); case serverMessage.messageType.getUserPermissionsForSubForum: if ((checkArgs(message.stringContent, 2))) { strLst.Add("error"); return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); } forumName = message.stringContent.ElementAt(0); subforumName = message.stringContent.ElementAt(1); user = message.stringContent.ElementAt(2); permission p1 = forumSystem.getUserPermissionsForSubForum(forumName, subforumName, user); number = 1; switch (p1) { case permission.INVALID: number = 1; break; case permission.GUEST: number = 2; break; case permission.MEMBER: number = 3; break; case permission.MODERATOR: number = 4; break; case permission.ADMIN: number = 5; break; case permission.SUPER_ADMIN: number = 6; break; } intLst.Add(number); return(new serverMessage(serverMessage.messageType.success, strLst, intLst, date)); } return(new serverMessage(serverMessage.messageType.errorHappened, strLst, intLst, date)); }
public void setModUnassignmentPermission(modUnassignmentPermission permission) { _mup = permission; }
public static ForumPolicy create(int maxNumOfAdmins, int minNumOfAdmins, int maxNumOfModerators, int minNumOfModerators, postDeletionPermission pdp, int passwordLifespan, int moderatorSeniority, modUnassignmentPermission mup) { if (minNumOfAdmins > maxNumOfAdmins || minNumOfModerators > maxNumOfModerators || maxNumOfAdmins <= 0 || maxNumOfModerators <= 0 || passwordLifespan <= 0 || moderatorSeniority < 0 || pdp == postDeletionPermission.INVALID || mup == modUnassignmentPermission.INVALID) { return(null); } return(new ForumPolicy(maxNumOfAdmins, minNumOfAdmins, maxNumOfModerators, minNumOfModerators, pdp, passwordLifespan, moderatorSeniority, mup)); }