コード例 #1
0
        // --приём заявки  преподавтеля
        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
                });
            }
        }
コード例 #2
0
 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
 };
コード例 #3
0
 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,
 };
コード例 #4
0
        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();
        }
コード例 #5
0
 public Task <OperationDetailDTO> CreateTeacherAsync(TeacherRegisterRequest registerEntity)
 {
     throw new NotImplementedException();
 }