/// <summary> /// Retrieve subjects with the given settings /// </summary> /// <param name="parameters"></param> /// <returns></returns> public List <Subject> GetSubjects(GetSubjectsParameters parameters) { bool recursive = parameters.Recursive; string subjects_requested = parameters.SubjectIDs; List <Subject> subjects; if (subjects_requested.Length > 0 && recursive) { subjects = GetSubjects(subjects_requested, recursive); } else if (subjects_requested.Length > 0) { subjects = GetSubjects(subjects_requested); } else if (recursive) { subjects = GetSubjects(recursive); } else { subjects = GetSubjects(); } return(subjects); }
/// <summary> /// Handle the user asking for subjects /// </summary> /// <param name="request"></param> /// <returns></returns> public static (bool requested, GetSubjectsParameters parameters) GetSubjects(string request) { request = request.ToLower(); var args = request.Split(' '); var parameters = new GetSubjectsParameters(); if (args[0].Contains("-subjects") || args[0].Contains("-subs") || args[0].Contains("subjects")) { for (int i = 0; i < args.Length; i++) { string arg = args[i]; if (arg.Equals("-id") || arg.Equals("-ids")) { i++; if (i >= args.Length) { parameters.SubjectIDs = ""; } else { parameters.SubjectIDs = args[i]; } } else if (arg.Equals("-rec")) { parameters.Recursive = true; } else if (arg.Length > 0 && i > 0) { parameters.SubjectIDs = args[i]; } } return(true, parameters); } return(false, parameters); }