private void SaveChanges() { var teacher = new AdministratorAddTeacherServiceModel() { FirstName = this.FirstName, MiddleName = this.MiddleName, LastName = this.LastName, Town = this.Town, Department = this.SelectedDepartment, }; try { this.administratorAddTeacherService.AddTeacher(teacher); this.ConfirmationMessages = string.Format(SUCCESSFULLY_ADDED_TEACHER, this.FirstName, this.MiddleName, this.LastName); ResetViewFields(); } catch (InvalidOperationException ioex) { this.ExceptionMessage = ioex.Message; this.ConfirmationMessages = String.Empty; } }
public void AddTeacher(AdministratorAddTeacherServiceModel teacher) { ValidateTeacherInfo(teacher); using (var data = new StudentSystemDbContext()) { bool isTownExists = data.Towns .Any(x => x.Name == teacher.Town); if (!isTownExists) { data.Towns.Add(new Town() { Name = teacher.Town, }); } Town town = data.Towns .FirstOrDefault(x => x.Name == teacher.Town); Department department = data.Departments .FirstOrDefault(x => x.Name == teacher.Department); User user = new User() { UserName = string.Format(DEFAULT_USERNAME, teacher.FirstName), Password = DEFAULT_PASSWORD, FirstName = teacher.FirstName, MiddleName = teacher.MiddleName, LastName = teacher.LastName, Town = town, Department = department, }; Teacher AddTeacher = new Teacher() { User = user, }; data.Users.Add(user); data.Teachers.Add(AddTeacher); data.SaveChanges(); } }
private void ValidateTeacherInfo(AdministratorAddTeacherServiceModel teacher) { StringBuilder exceptionMessages = new StringBuilder(); bool isValid = true; if (teacher.FirstName == null || teacher.FirstName.Length < USER_FIRST_NAME_MIN_LENGTH || teacher.FirstName.Length > USER_FIRST_NAME_MAX_LENGTH) { exceptionMessages.AppendLine(INVALID_USER_FIRST_NAME_LENGTH_EXCEPTION_MESSAGE); isValid = false; } if (teacher.MiddleName == null || teacher.MiddleName.Length < USER_MIDDLE_NAME_MIN_LENGTH || teacher.MiddleName.Length > USER_MIDDLE_NAME_MAX_LENGTH) { exceptionMessages.AppendLine(INVALID_USER_MIDDLES_NAME_LENGTH_EXCEPTION_MESSAGE); isValid = false; } if (teacher.LastName == null || teacher.LastName.Length < USER_LAST_NAME_MIN_LENGTH || teacher.LastName.Length > USER_LAST_NAME_MAX_LENGTH) { exceptionMessages.AppendLine(INVALID_USER_LAST_NAME_LENGTH_EXCEPTION_MESSAGE); isValid = false; } if (teacher.Town == null || teacher.Town.Length < TOWN_NAME_MIN_LENGTH || teacher.Town.Length > TOWN_NAME_MAX_LENGTH) { exceptionMessages.AppendLine(INVALID_TOWN_NAME_LENGTH_EXCEPTION_MESSAGE); isValid = false; } if (!isValid) { throw new InvalidOperationException(exceptionMessages.ToString()); } }