/*******Begin code to modify********/ /// <summary> /// Create a new user of the LMS with the specified information. /// Assigns the user a unique uID consisting of a 'u' followed by 7 digits. /// </summary> /// <param name="fName">First Name</param> /// <param name="lName">Last Name</param> /// <param name="DOB">Date of Birth</param> /// <param name="SubjectAbbrev">The department the user belongs to (professors and students only)</param> /// <param name="SubjectAbbrev">The user's role: one of "Administrator", "Professor", "Student"</param> /// <returns>A unique uID that is not be used by anyone else</returns> public string CreateNewUser(string fName, string lName, DateTime DOB, string SubjectAbbrev, string role) { var chars = "0123456789"; var stringChars = new char[8]; var random = new Random(); stringChars[0] = 'u'; for (int i = 1; i < stringChars.Length; i++) { stringChars[i] = chars[random.Next(chars.Length)]; } var uid = new String(stringChars); using (Models.LMSModels.Team13LMSContext db = new Models.LMSModels.Team13LMSContext()) { if (role.Equals("Student")) { Models.LMSModels.Students s = new Models.LMSModels.Students(); s.FirstName = fName; s.LastName = lName; s.DateOfBirth = DOB; s.SubjectAbbreviation = SubjectAbbrev; s.UId = uid; db.Students.Add(s); db.SaveChanges(); } if (role.Equals("Professor")) { Models.LMSModels.Professors p = new Models.LMSModels.Professors(); p.FirstName = fName; p.LastName = lName; p.DateOfBirth = DOB; p.SubjectAbbreviation = SubjectAbbrev; p.UId = uid; db.Professors.Add(p); db.SaveChanges(); } if (role.Equals("Administrator")) { Models.LMSModels.Administrators admin = new Models.LMSModels.Administrators(); admin.FirstName = fName; admin.LastName = lName; admin.DateOfBirth = DOB; admin.UId = uid; db.Administrators.Add(admin); db.SaveChanges(); } } return(uid); }
/*******Begin code to modify********/ /// <summary> /// Create a new user of the LMS with the specified information. /// Assigns the user a unique uID consisting of a 'u' followed by 7 digits. /// </summary> /// <param name="fName">First Name</param> /// <param name="lName">Last Name</param> /// <param name="DOB">Date of Birth</param> /// <param name="SubjectAbbrev">The department the user belongs to (professors and students only)</param> /// <param name="role">The user's role: one of "Administrator", "Professor", "Student"</param> /// <returns>A unique uID that is not be used by anyone else</returns> public string CreateNewUser(string fName, string lName, DateTime DOB, string SubjectAbbrev, string role) { String uID = GenerateUID(); if (role == "Administrator") { Models.LMSModels.Administrators admin = new Models.LMSModels.Administrators(); admin.FirstName = fName; admin.LastName = lName; admin.BirthDate = DOB; admin.UId = uID; db.Administrators.Add(admin); } else if (role == "Professor") { Models.LMSModels.Professors professor = new Models.LMSModels.Professors(); professor.FirstName = fName; professor.LastName = lName; professor.BirthDate = DOB; professor.UId = uID; professor.Department = SubjectAbbrev; db.Professors.Add(professor); } else if (role == "Student") { Models.LMSModels.Students student = new Models.LMSModels.Students(); student.FirstName = fName; student.LastName = lName; student.BirthDate = DOB; student.UId = uID; student.Major = SubjectAbbrev; db.Students.Add(student); } db.SaveChanges(); return(uID); }
/*******Begin code to modify********/ /// <summary> /// Create a new user of the LMS with the specified information. /// Assigns the user a unique uID consisting of a 'u' followed by 7 digits. /// </summary> /// <param name="fName">First Name</param> /// <param name="lName">Last Name</param> /// <param name="DOB">Date of Birth</param> /// <param name="SubjectAbbrev">The department the user belongs to (professors and students only)</param> /// <param name="role">The user's role: one of "Administrator", "Professor", "Student"</param> /// <returns>A unique uID. This uID must not be used by anyone else</returns> public string CreateNewUser(string fName, string lName, DateTime DOB, string SubjectAbbrev, string role) { // String for new uID to be given new user string newIDNumber; using (db) { // List for storing all user ID's List <string> userIDs = new List <string>(); var infoQuery = (from stu in db.Students select stu.UId) .Union (from prof in db.Professors select prof.UId) .Union(from adm in db.Administrators select adm.UId); foreach (string uID in infoQuery) { userIDs.Add(uID); } // Create unique uID that doesn't match any existing uID's newIDNumber = getNextUserID(userIDs); // Add the user to the database if (role.Equals("Student")) { // Set up the student Models.LMSModels.Students student = new Models.LMSModels.Students(); student.FirstName = fName; student.LastName = lName; student.DateOfBirth = DOB; student.Major = SubjectAbbrev; student.UId = newIDNumber; student.Password = ""; // Insert the student into the database db.Students.Add(student); db.SaveChanges(); } else if (role.Equals("Professor")) { // Set up the professor Models.LMSModels.Professors professor = new Models.LMSModels.Professors(); professor.FirstName = fName; professor.LastName = lName; professor.DateOfBirth = DOB; professor.WorksIn = SubjectAbbrev; professor.UId = newIDNumber; professor.Password = ""; // Insert the professor into the database db.Professors.Add(professor); db.SaveChanges(); } else { // Set up the administrator Models.LMSModels.Administrators admin = new Models.LMSModels.Administrators(); admin.FirstName = fName; admin.LastName = lName; admin.DateOfBirth = DOB; admin.UId = newIDNumber; admin.Password = ""; // Insert the professor into the database db.Administrators.Add(admin); db.SaveChanges(); } } // Return the uID return(newIDNumber); }