示例#1
0
        public async Task <HttpResponseMessage> RegisterTeacher(RegisterTeacherDTO teacherDTO)
        {
            string userId = ((ClaimsPrincipal)RequestContext.Principal).FindFirst(x => x.Type == "UserId").Value;

            logger.Info("UserId: " + userId + ": Requesting New Teacher Insert");

            try
            {
                var result = await usersService.RegisterTeacher(teacherDTO);

                if (result == null)
                {
                    logger.Error(ModelState);
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Failed."));
                }

                logger.Info("Teacher registered successfully!");
                return(Request.CreateResponse(HttpStatusCode.OK, result));
            }
            catch (Exception e)
            {
                logger.Error(e);
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, e));
            }
        }
        protected void RegisterClick(object sender, EventArgs e)
        {
            var teacherDTO = new RegisterTeacherDTO()
            {
                FirstName = this.CommonFields.FirstName,
                LastName  = this.CommonFields.LastName,
                Email     = this.CommonFields.Email,
                Age       = this.CommonFields.Age,
                Password  = this.CommonFields.Password,
                Subject   = this.Subjects.SelectedValue
            };

            var manager = Context.GetOwinContext().GetUserManager <ApplicationUserManager>();

            this.RegisterTeacherClick?.Invoke(sender, new RegisterTeacherEventArgs(teacherDTO, manager));

            if (!this.Model.IsSuccess)
            {
                this.CommonFields.ShowError(this.Model.ErrorMessage);
            }
            else
            {
                this.CommonFields.ShowSuccess("Teacher registred successfully");
            }
        }
示例#3
0
        public async Task <IdentityResult> RegisterTeacher(RegisterTeacherDTO userModel)
        {
            Teacher user = new Teacher
            {
                UserName  = userModel.UserName,
                FirstName = userModel.FirstName,
                LastName  = userModel.LastName,
                Email     = userModel.EmailAddress
            };

            return(await db.AuthRepository.RegisterTeacher(user, userModel.Password));
        }
示例#4
0
        public async Task <IdentityResult> RegisterTeacher(RegisterTeacherDTO newTeacher)
        {
            TeacherModel teacher = new TeacherModel
            {
                UserRole    = EUserRole.ROLE_TEACHER,
                FirstName   = newTeacher.FirstName,
                LastName    = newTeacher.LastName,
                UserName    = newTeacher.UserName,
                Email       = newTeacher.Email,
                PhoneNumber = newTeacher.MobilePhone
            };

            logger.Info($"New teacher created. Teacher information - Name: {teacher.FirstName}, LastName: {teacher.LastName}, Username: {teacher.UserName}, DateOfBirth: {teacher.Email}");

            return(await db.AuthRepository.RegisterTeacher(teacher, newTeacher.Password));
        }
        public ApplicationUser CreateTeacher(RegisterTeacherDTO teacherDTO)
        {
            var teacher = new ApplicationUser()
            {
                UserName      = teacherDTO.Email,
                Email         = teacherDTO.Email,
                FirstName     = teacherDTO.FirstName,
                LastName      = teacherDTO.LastName,
                Age           = teacherDTO.Age,
                UserType      = UserTypes.Teacher,
                IsFreeTeacher = true,
                Subject       = (Subject)Enum.Parse(typeof(Subject), teacherDTO.Subject),
                ImageUrl      = Constants.DefaultTeacherImage
            };

            return(teacher);
        }
示例#6
0
        public async Task <IHttpActionResult> PostRegisterTeacher(RegisterTeacherDTO teacher)
        {
            try
            {
                var result = await registrationsService.RegisterTeacher(teacher);

                if (result == null)
                {
                    return(BadRequest(ModelState));
                }

                return(Created("PostTeacher", teacher));
            }
            catch (InvalidOperationException e)
            {
                return(BadRequest(e.Message));
            }
        }
示例#7
0
        public async Task <IHttpActionResult> RegisterTeacher(RegisterTeacherDTO userModel)
        {
            if (teachersService.GetAllTeachers().Select(x => x.UserName).Contains(userModel.UserName) || teachersService.GetAllTeachers().Select(x => x.Email).Contains(userModel.EmailAddress))
            {
                logger.Error("Registering teacher - username or email already exists!");

                return(BadRequest("Username or emailalready exists!"));
            }

            var result = await service.RegisterTeacher(userModel);

            if (result == null)
            {
                return(BadRequest(ModelState));
            }

            logger.Info("Registering teacher");

            return(Ok());
        }
示例#8
0
        public async Task <IdentityResult> RegisterTeacher(RegisterTeacherDTO teacherDTO)
        {
            ApplicationUser foundJmbg = GetByJmbg(teacherDTO.Jmbg);

            if (foundJmbg != null)
            {
                throw new HttpException("The user with JMBG " + teacherDTO.Jmbg + " is already in the system with id " + foundJmbg.Id);
            }

            ApplicationUser foundUserName = await FindUserByUserName(teacherDTO.UserName);

            if (foundUserName != null)
            {
                throw new HttpException("The username you entered for the teacher: " + teacherDTO.UserName + " already exists.");
            }

            Teacher user = new Teacher
            {
                UserName             = teacherDTO.UserName,
                FirstName            = teacherDTO.FirstName,
                LastName             = teacherDTO.LastName,
                Email                = teacherDTO.Email,
                PhoneNumber          = teacherDTO.PhoneNumber,
                PhoneNumberConfirmed = teacherDTO.PhoneNumberConfirmed,
                Jmbg           = teacherDTO.Jmbg,
                Gender         = teacherDTO.Gender,
                IsStillWorking = true
            };

            IdentityResult registeredTeacher = await db.AuthRepository.RegisterTeacher(user, teacherDTO.Password);

            if (!registeredTeacher.Succeeded)
            {
                throw new HttpException("Failed to register the teacher.");
            }

            emailsService.CreateRegistrationMailForAdminOrTeacher(user.Id);
            return(registeredTeacher);
        }
 public RegisterTeacherEventArgs(RegisterTeacherDTO teacherDTO, ApplicationUserManager manager)
 {
     this.TeacherDTO = teacherDTO;
     this.Manager    = manager;
 }