Пример #1
0
        /// <summary>
        /// Update student
        /// </summary>
        /// <param name="studentUpdate"></param>
        /// <returns></returns>
        public async Task <StudentDto> UpdateStudent(StudentUpdateDto studentUpdate)
        {
            StudentUser user = db.StudentsRepository.Get(a => a.Id == studentUpdate.Id).FirstOrDefault();

            if (user == null)
            {
                // 404, Not found.
                // No reason for an exception I think
                return(null);
            }

            StudentsConverter.UpdateStudentsPersonalData(user, studentUpdate);

            var result = await db.AuthRepository.UpdateUser(user);

            if (!result.Succeeded)
            {
                var ex = new UserUpdateException(result.Errors.ToArray());
                ex.Data.Add("IdentityResultErrors", result.Errors.ToArray());
                throw ex;
            }

            var updatedUser = db.StudentsRepository.Get(a => a.Id == studentUpdate.Id).FirstOrDefault();

            return(StudentsConverter.StudentToStudentDto(updatedUser));
        }
Пример #2
0
        /// <summary>
        /// Register a student
        /// </summary>
        /// <param name="userModel"></param>
        /// <returns></returns>
        public async Task <StudentDto> RegisterStudent(StudentRegistrationDto userModel)
        {
            StudentUser user = StudentsConverter.StudentRegistrationDtoToStudent(userModel);

            var result = await db.AuthRepository.RegisterStudentUser(user, userModel.Password);

            if (!result.Succeeded)
            {
                var ex = new UserRegistrationException(result.Errors.ToArray());
                ex.Data.Add("IdentityResultErrors", result.Errors.ToArray());
                throw ex;
            }

            user = await db.AuthRepository.FindUserByUserName(userModel.UserName) as StudentUser;

            return(StudentsConverter.StudentToStudentDto(user));
        }