Esempio n. 1
0
 public int AddStudent(AddStudentInput input)
 {
     if (_addStudentInputValidator != null)
     {
         //validation
         var result = _addStudentInputValidator.Validate(input);
         if (!result.IsValid)
         {
             var fullErrorMessage = string.Join(";", result.Errors);
             throw new Exception(fullErrorMessage);
         }
     }
     return(0);
 }
        public async Task Execute(AddStudentInput input)
        {
            if (input == null)
            {
                outputPort.WriteError(""); return;
            }

            if (
                await groupRepository.Get(input.GroupId) == null ||
                await userRepository.Get(input.StudentId) == null
                )
            {
                outputPort.NotFound(""); return;
            }

            bool success = await groupRepository.AddStudent(input.GroupId, input.StudentId);

            outputPort.Standart(new AddStudentOutput(success));
        }
Esempio n. 3
0
        public async Task <Student> AddStudentAsync(AddStudentInput input, [ScopedService] AppDbContext context)
        {
            Random r         = new Random();
            var    programId = context.Programs.Where(p => p.ProgramNumber == input.ProgramNumber).Select(p => p.ProgramId).FirstOrDefault();
            var    student   = new Student
            {
                StudentNumber = r.Next(10, 50).ToString(),
                FirstName     = input.FirstName,
                LastName      = input.LastName,
                Email         = input.Email,
                PhoneNumber   = input.PhoneNumber,
                Address       = input.Address,
                ProgramId     = programId,
            };
            await context.Students.AddAsync(student);

            await context.SaveChangesAsync();

            return(student);
        }
        public async Task AddStudent(AddStudentInput input)
        {
            var student = _studentRepository.FirstOrDefault(x => x.UserName == input.LoginId);

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

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

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


            #region 根据学号处理入学时间年级
            if (input.LoginId.Length < 4)
            {
                throw new UserFriendlyException("学号格式不正确");
            }
            var yearstr = input.LoginId.Substring(0, 4);
            int year;
            try
            {
                year = Convert.ToInt32(yearstr);
            }
            catch (Exception)
            {
                throw new UserFriendlyException("学号格式不正确");
            }
            var    entryDate = new DateTime(year, 8, 20);
            var    grade     = Math.Min(((DateTime.Today.Year - entryDate.Year) * 12 + (DateTime.Today.Month - entryDate.Month)) / 12, 4);
            string gradestr;
            switch (grade)
            {
            case 0:
                gradestr = "一年级";
                break;

            case 1:
                gradestr = "二年级";
                break;

            case 2:
                gradestr = "三年级";
                break;

            case 3:
                gradestr = "四年级";
                break;

            case 4:
                gradestr = "五年级";
                break;

            default:
                gradestr = "五年级";
                break;
            }
            #endregion

            student = new Student
            {
                TenantId     = AbpSession.TenantId,
                Password     = new PasswordHasher().HashPassword(Teacher.DefaultTeacherPassword),
                UserName     = input.LoginId,
                Name         = input.StudentName,
                Surname      = input.StudentName,
                EmailAddress = "*****@*****.**",
                Department   = input.Department,
                Major        = input.Major,
                StudentNo    = input.StudentNo,

                EntryDate = entryDate,                //4
                Grade     = gradestr

                            //TenantId = AbpSession.TenantId,
                            //UserName = input.LoginId,
                            //StudentNo = input.StudentNo,
                            //Name = input.StudentName,
                            //Department = input.Department,
                            //Major = input.Major,
                            //Gender = input.Gebder
            };

            student = await _studentRepository.InsertAsync(student);

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

            await _userRoleRepository.InsertAsync(userRole);
        }
 public int AddStudent([CustomizeValidator(Interceptor = typeof(MyValidatorInterceptor))] AddStudentInput input) => _personService.AddStudent(input);