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)); }
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);