Пример #1
0
        public async Task <IdentityResult> RegisterStudent(RegisterStudentDTO user)
        {
            Student userToInsert = UserToUserDTOConverters.RegisterStudentDTOtoStudent(user);

            logger.Info("Registering student.");
            return(await db.AuthRepository.RegisterStudent(userToInsert, user.Password));
        }
        protected void RegisterClick(object sender, EventArgs e)
        {
            var studentDTO = new RegisterStudentDTO()
            {
                FirstName    = this.CommonFields.FirstName,
                LastName     = this.CommonFields.LastName,
                Email        = this.CommonFields.Email,
                Age          = this.CommonFields.Age,
                Password     = this.CommonFields.Password,
                FormMasterId = Context.User.Identity.GetUserId()
            };

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

            this.SubmitClick?.Invoke(sender, new RegisterStudentSubmitEventArgs(studentDTO, manager));

            if (!this.Model.IsSuccess)
            {
                this.CommonFields.ShowError(this.Model.ErrorMessage);
            }
            else
            {
                this.CommonFields.ShowSuccess("Student registred successfully");
            }
        }
Пример #3
0
        public async Task <HttpResponseMessage> RegisterStudentAndParent(RegisterStudentDTO studentDTO)
        {
            string userId = ((ClaimsPrincipal)RequestContext.Principal).FindFirst(x => x.Type == "UserId").Value;

            logger.Info("UserId: " + userId + ": Requesting New Student and New Parent Insert");

            try
            {
                var result = await usersService.RegisterStudentAndParent(studentDTO);

                if (result == null)
                {
                    logger.Info(ModelState);
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Something went wrong"));
                    //return BadRequest(ModelState);
                }

                logger.Info("Student (with parent) registered successfully!");
                return(Request.CreateResponse(HttpStatusCode.OK, result));
            }
            catch (Exception e)
            {
                logger.Error(e);
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, e));
            }
        }
Пример #4
0
        public static Student RegisterStudentDTOtoStudent(RegisterStudentDTO dto)
        {
            Student retVal = new Student();

            retVal.Email     = dto.Email;
            retVal.UserName  = dto.UserName;
            retVal.FirstName = dto.FirstName;
            retVal.LastName  = dto.LastName;
            retVal.Parent.Id = dto.ParentId;

            logger.Info("Covetring RegisterStudentDTO to Student.");
            return(retVal);
        }
        public ApplicationUser CreateStudent(RegisterStudentDTO studentDTO)
        {
            var appUser = new ApplicationUser()
            {
                UserName       = studentDTO.Email,
                Email          = studentDTO.Email,
                FirstName      = studentDTO.FirstName,
                LastName       = studentDTO.LastName,
                StudentClassId = studentDTO.StudentClassId,
                Age            = studentDTO.Age,
                UserType       = UserTypes.Student,
                ImageUrl       = Constants.DefaultStudentImage
            };

            return(appUser);
        }
Пример #6
0
        public async Task <IHttpActionResult> PostRegisterStudent(RegisterStudentDTO student)
        {
            try
            {
                var result = await registrationsService.RegisterStudent(student);

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

                return(Created("PostStudent", student));
            }
            catch (InvalidOperationException e)
            {
                return(BadRequest(e.Message));
            }
        }
Пример #7
0
        public async Task <IdentityResult> RegisterStudent(RegisterStudentDTO newStudent)
        {
            StudentModel student = new StudentModel
            {
                UserRole    = EUserRole.ROLE_STUDENT,
                FirstName   = newStudent.FirstName,
                LastName    = newStudent.LastName,
                UserName    = newStudent.UserName,
                DateOfBirth = newStudent.DateOfBirth,
                Email       = ""
            };

            SetYearAndSubjects(student, student.DateOfBirth);

            logger.Info($"New student created. Student information - Name: {student.FirstName}, LastName: {student.LastName}, Username: {student.UserName}, DateOfBirth: {student.DateOfBirth}" +
                        $"student was placed into year {student.Year} according to birthday");

            return(await db.AuthRepository.RegisterStudent(student, newStudent.Password));
        }
        public async Task <IHttpActionResult> RegisterStudent(RegisterStudentDTO userModel)
        {
            if (!ModelState.IsValid)
            {
                logger.Warn("RegisterStudent returned BadRequest with invalid ModelState");
                return(BadRequest(ModelState));
            }

            var result = await service.RegisterStudent(userModel);

            if (result == null)
            {
                logger.Warn("RegisterStudent returned BadRequest with null result");
                return(BadRequest(ModelState));
            }

            logger.Warn("RegisterStudent finished OK. New Studen was created");
            return(Ok(result));
        }
 public RegisterStudentSubmitEventArgs(RegisterStudentDTO studentDTO, ApplicationUserManager manager)
 {
     this.StudentDTO = studentDTO;
     this.Manager    = manager;
 }
Пример #10
0
        public async Task <IdentityResult> RegisterStudentAndParent(RegisterStudentDTO studentDTO)
        {
            Parent parentInTheSystem = db.ParentsRepository.GetByJmbg(studentDTO.ParentJmbg);

            if (parentInTheSystem != null)
            {
                throw new HttpException("The parent with JMBG " + studentDTO.ParentJmbg + " is already in the system " +
                                        "with id: " + parentInTheSystem.Id + " Register student" +
                                        " with HttpPost at http://localhost:54164/project/account/register-student");
            }

            ApplicationUser foundJmbg = GetByJmbg(studentDTO.Jmbg);

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

            ApplicationUser foundUserName = await FindUserByUserName(studentDTO.UserName);

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

            Form form = db.FormsRepository.GetByID(studentDTO.FormId);

            if (form == null)
            {
                throw new HttpException("Form id " + studentDTO.FormId + " was not found.");
            }

            ApplicationUser foundParentUserName = await FindUserByUserName(studentDTO.ParentUserName);

            if (foundParentUserName != null)
            {
                throw new HttpException("Username you entered for the parent " + studentDTO.ParentUserName + " already exists.");
            }

            RegisterParentDTO parentDTO = new RegisterParentDTO
            {
                UserName        = studentDTO.ParentUserName,
                FirstName       = studentDTO.ParentFirstName,
                LastName        = studentDTO.ParentLastName,
                Email           = studentDTO.ParentEmail,
                Password        = studentDTO.ParentPassword,
                ConfirmPassword = studentDTO.ParentConfirmPassword,
                Jmbg            = studentDTO.ParentJmbg,
                MobilePhone     = studentDTO.ParentMobilePhone
            };

            IdentityResult registeredParent = await RegisterParent(parentDTO);

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

            Parent newParent = db.ParentsRepository.GetByUserName(studentDTO.ParentUserName);

            if (newParent == null)
            {
                throw new HttpException("Something went wrong.");
            }

            Student newUser = new Student
            {
                UserName   = studentDTO.UserName,
                FirstName  = studentDTO.FirstName,
                LastName   = studentDTO.LastName,
                Email      = studentDTO.Email,
                Jmbg       = studentDTO.Jmbg,
                DayOfBirth = studentDTO.DayOfBirth,
                IsActive   = true,
                Parent     = newParent,
                Form       = form
            };

            IdentityResult regStudent = await db.AuthRepository.RegisterStudent(newUser, studentDTO.Password);

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

            emailsService.CreateRegistrationMail(newUser.Id, studentDTO.Password);
            emailsService.CreateRegistrationMail(newUser.Parent.Id, studentDTO.ParentPassword);
            emailsService.CreateMailForParentNewStudentAssigned(newUser.Parent.Id);
            return(regStudent);
        }