コード例 #1
0
        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)));
        }
コード例 #2
0
        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");
        }
コード例 #3
0
 private Name(string first, string last, Suffix suffix)
     : this()
 {
     First  = first;
     Last   = last;
     Suffix = suffix;
 }
コード例 #4
0
        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");
        }