// --приём заявки преподавтеля public async Task <OperationDetailDTO> CreateTeacherAsync(TeacherRegisterRequest registerEntity) { OperationDetailDTO resultDetail; List <string> errors = new List <string>(); try { var user = GetTeacherUserFromRegEntity(registerEntity); var userResult = await _userManager.CreateAsync(user, registerEntity.PasswordHash); if (userResult.Succeeded) { var roleResult = await _userManager.AddToRoleAsync(user, Role.Types.Teacher.ToString()); if (roleResult.Succeeded) { resultDetail = new OperationDetailDTO { Succeeded = true }; } else { await _userManager.DeleteAsync(user); foreach (var error in userResult.Errors) { errors.Add("Ошибка при регистрации пользователя-преподавателя. Код ошибки: " + error.Code + ". Описание ошибки: " + error.Description); } resultDetail = new OperationDetailDTO { Succeeded = false, ErrorMessages = errors }; } } else { foreach (var error in userResult.Errors) { errors.Add("Ошибка при регистрации пользователя-преподавателя. Код ошибки: " + error.Code + " Описание ошибки: " + error.Description); } resultDetail = new OperationDetailDTO { Succeeded = false, ErrorMessages = errors }; } return(resultDetail); } catch (Exception e) { errors.Add(_serverErrorMessage + e.Message); return(new OperationDetailDTO { Succeeded = false, ErrorMessages = errors }); } }
private User GetTeacherUserFromRegEntity(TeacherRegisterRequest teacherRegister) => new User { Teacher = new Teacher { DepartmentId = teacherRegister.DepartmentId, Name = teacherRegister.Name, Surname = teacherRegister.Surname, Patronymic = teacherRegister.Patronymic, Position = teacherRegister.Position, }, UserName = teacherRegister.UserName, Email = teacherRegister.Email };
public static TeacherDTO Map(TeacherRegisterRequest entity) => new TeacherDTO { Id = entity.Id, Faculty = entity.Department.Faculty.Name, Name = entity.Name, Surname = entity.Surname, Patronymic = entity.Patronymic, Position = entity.Position, DepartmentId = entity.DepartmentId, DepartmentName = entity.Department.Name, UserName = entity.UserName, Email = entity.Email, };
private async void InitContext(DataContext context) { var groups = new TaskExecutionSystem.DAL.Entities.Studies.Group[] { new TaskExecutionSystem.DAL.Entities.Studies.Group { Id = 1, Faculty = faculties[0], NumberName = "1111-010203A", }, new TaskExecutionSystem.DAL.Entities.Studies.Group { Id = 2, Faculty = faculties[1], NumberName = "3333-010203A", }, }; var departmens = new Department[] { new Department { Id = 1, Name = "Программных систем", Faculty = faculties[0], }, new Department { Id = 2, Name = "Силовых установок", Faculty = faculties[1] } }; var studentRegs = new StudentRegisterRequest[] { new StudentRegisterRequest { Id = 1, Group = groups[0], PasswordHash = "qwerty", Email = "*****@*****.**", Name = "Алёша", Surname = "Бурына", Patronymic = "Котов", UserName = "******", }, new StudentRegisterRequest { Id = 2, Group = groups[1], PasswordHash = "qwerty", Email = "*****@*****.**", Name = "Алёша", Surname = "Бурына", Patronymic = "Котов", UserName = "******" } }; var teacherRegs = new TeacherRegisterRequest[] { new TeacherRegisterRequest { Id = 1, Department = departmens[0], PasswordHash = "qwerty", Email = "*****@*****.**", Name = "Алёша", Surname = "Бурына", Patronymic = "Котов", UserName = "******", Position = "Доцент" }, new TeacherRegisterRequest { Id = 2, Department = departmens[1], PasswordHash = "qwerty", Email = "*****@*****.**", Name = "Алёша", Surname = "Бурына", Patronymic = "Котов", UserName = "******", Position = "Профессор" }, }; if (!await context.Faculties.AnyAsync()) { await context.Faculties.AddRangeAsync(faculties); } if (!await context.Groups.AnyAsync()) { await context.Groups.AddRangeAsync(groups); } if (!await context.StudentRegisterRequests.AnyAsync()) { await context.StudentRegisterRequests.AddRangeAsync(studentRegs); } if (!await context.Departments.AnyAsync()) { await context.Departments.AddRangeAsync(departmens); } if (!await context.TeacherRegisterRequests.AnyAsync()) { await context.TeacherRegisterRequests.AddRangeAsync(teacherRegs); } await context.SaveChangesAsync(); }
public Task <OperationDetailDTO> CreateTeacherAsync(TeacherRegisterRequest registerEntity) { throw new NotImplementedException(); }