Пример #1
0
        public async Task AddTeacher(AddTeacherInput input)
        {
            var user = await _userRepository.FirstOrDefaultAsync(x => x.UserName == input.LoginId);

            if (user != null)
            {
                throw new UserFriendlyException($"登陆账号{input.LoginId}已存在!");
            }

            var role = await _roleManager.GetRoleByNameAsync(StaticRoleNames.CourseSelecting.Teacher);

            if (role == null)
            {
                throw new UserFriendlyException("系统未初始化!");
            }

            var teacher = new Teacher
            {
                TenantId     = AbpSession.TenantId,
                Password     = new PasswordHasher().HashPassword(Teacher.DefaultTeacherPassword),
                UserName     = input.LoginId,
                Name         = input.TeacherName,
                Surname      = input.TeacherName,
                EmailAddress = "*****@*****.**",
                Department   = input.Department,
                TeacherNo    = input.TeacherNo,

                Gender          = input.Gender ?? 0,
                Major           = input.Major,
                Diploma         = input.Diploma,
                Degree          = input.Degree,
                PositionalTitle = input.PositionalTitle,
                YearsOfWorking  = input.YearsOfWorking,
                YearsOfTeaching = input.YearsOfTeaching,
                IsFullTime      = input.IsFullTime ?? true,
                Tel             = input.Tel
            };

            teacher = await _teacherRepository.InsertAsync(teacher);

            var userRole = new UserRole
            {
                TenantId = AbpSession.TenantId,
                RoleId   = role.Id,
                UserId   = teacher.Id
            };

            await _userRoleRepository.InsertAsync(userRole);
        }
Пример #2
0
        public async Task <TeacherProfile> AddAsync([Required] AddTeacherInput input)
        {
            // 判断账号是否存在
            var isExist = await _teacherRepository.AnyAsync(u => u.TeacherName.ToLower() == input.TeacherName.Trim().ToLower());

            if (isExist)
            {
                throw Oops.Oh(SystemErrorCodes.u1003);
            }

            var addTeacher  = input.Adapt <Teacher>();
            var entryEntity = await _teacherRepository.InsertNowAsync(addTeacher);

            return(entryEntity.Entity.Adapt <TeacherProfile>());
        }