Exemple #1
0
        public async Task <IHttpActionResult> RegisterTeacher(TeacherRegisterBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var user = new ApplicationUser()
            {
                UserName = model.Email, Email = model.Email
            };

            IdentityResult result = await UserManager.CreateAsync(user, model.Password);

            var newUser = UserManager.FindByEmail(model.Email);

            UserManager.AddToRoles(newUser.Id, new string[] { "Teacher" });

            int TrId = 0;

            if (result.Succeeded)
            {
                TeacherDTO tr = new TeacherDTO()
                {
                    TeacherName   = model.FirstName + " " + model.LastName,
                    StartDate     = model.StartDate,
                    Tr_Address1   = model.Tr_Address1,
                    Tr_Address2   = model.Tr_Address2,
                    Tr_PostCode   = model.Tr_PostCode,
                    Tr_Email      = model.Email,
                    Tr_Telephone  = model.Tr_Telephone,
                    UserId        = user.Id,
                    _ImageFileUrl = model._ImageFileUrl
                };
                ITeacherService trService = new TeacherService();
                TrId = await trService.AddTeacherAsync(tr);
            }
            else
            {
                return(GetErrorResult(result));
            }

            return(Ok(TrId));
        }