public static Result <Name> Create(string firstName, string lastName, Suffix suffix) { if (string.IsNullOrWhiteSpace(firstName)) { return(Result.Failure <Name>("First name should not be empty")); } if (string.IsNullOrWhiteSpace(lastName)) { return(Result.Failure <Name>("Last name should not be empty")); } firstName = firstName.Trim(); lastName = lastName.Trim(); if (firstName.Length > 200) { return(Result.Failure <Name>("First name is too long")); } if (lastName.Length > 200) { return(Result.Failure <Name>("Last name is too long")); } return(Result.Success(new Name(firstName, lastName, suffix))); }
public string RegisterStudent(string firstName, string lastName, long nameSuffixId, string email, long favoriteCourseId) { Course course = Course.FromId(favoriteCourseId); if (course == null) { return("Course not found"); } Result <Email> emailResult = Email.Create(email); if (emailResult.IsFailure) { return(emailResult.Error); } Suffix suffix = Suffix.FromId(nameSuffixId); Result <Name> nameResult = Name.Create(firstName, lastName, suffix); if (nameResult.IsFailure) { return(nameResult.Error); } var student = new Student(nameResult.Value, emailResult.Value, course); _contex.Attach(student); _contex.SaveChanges(); return("OK"); }
private Name(string first, string last, Suffix suffix) : this() { First = first; Last = last; Suffix = suffix; }
public string EditPersonalInfo(long studentId, string firstName, string lastName, long nameSuffixId, string email, long favoriteCourseId) { Course course = Course.FromId(favoriteCourseId); if (course == null) { return("Course not found"); } var student = _studentRepo.GetById(studentId); Result <Email> emailResult = Email.Create(email); if (emailResult.IsFailure) { return(emailResult.Error); } Suffix suffix = Suffix.FromId(nameSuffixId); Result <Name> nameResult = Name.Create(firstName, lastName, suffix); if (nameResult.IsFailure) { return(nameResult.Error); } student.EditPersonalInfo(nameResult.Value, emailResult.Value, course); _contex.SaveChanges(); return("OK"); }