Exemple #1
0
        public async Task <IHttpActionResult> CreateUser(CreateUserBindingModel usuarioNuevo)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var user = new Usuario()
            {
                UserName = usuarioNuevo.GetUsername(usuarioNuevo.Email),
                Email    = usuarioNuevo.Email,
                Activo   = true,
            };


            IdentityResult addUserResult = await this.AppUserManager.CreateAsync(user, usuarioNuevo.Password);



            if (!addUserResult.Succeeded)
            {
                return(GetErrorResult(addUserResult));
            }

            var newUser = AppUserManager.FindByName(user.UserName);

            var addRolesResult = AppUserManager.AddToRoles(newUser.Id, new string[] { Common.Constants.Docente });

            if (!addRolesResult.Succeeded)
            {
                return(GetErrorResult(addUserResult));
            }

            //EmailServiceGmail.SendEmail(user, "Usuario", "dedwew");

            return(Ok());
        }
Exemple #2
0
        public async Task <IHttpActionResult> CreateUser(CreateUserBindingModel createUserModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var user = new ApplicationUser()
            {
                UserName       = createUserModel.Username,
                Email          = createUserModel.Email,
                FirstName      = createUserModel.FirstName,
                LastName       = createUserModel.LastName,
                Level          = 3,
                JoinDate       = DateTime.Now.Date,
                EmailConfirmed = true,

                UserProfile = new UserProfile()
                {
                    ContactEmail   = createUserModel.Email,
                    OrgainzationId = createUserModel.OrganizationId,
                    //AvatarImgUrlMd = "content/images/avatars/avatar-default-md.png",
                    //AvatarImgUrlSm = "content/images/avatars/avatar-default-sm.png",
                    PositionId   = createUserModel.PositionId,
                    AvatarImgUrl = "content/images/avatars/avatar-default.png"
                }
            };

            IdentityResult addUserResult = await this.AppUserManager.CreateAsync(user, createUserModel.Password);

            if (!addUserResult.Succeeded)
            {
                return(GetErrorResult(addUserResult));
            }

            //Add client role - default
            //
            var currentUser = AppUserManager.FindByName(user.UserName);

            AppUserManager.AddToRoles(currentUser.Id, "manager");

            //Enable immediate account activation
            //
            //currentUser.EmailConfirmed = true;

            //update user profile
            //
            //currentUser.UserProfile.AvatarImgUrl = "";
            //currentUser.UserProfile.
            //currentUser.UserProfile.OrgainzationId = 1;


            //Send confirmation email
            //

            //string code = await this.AppUserManager.GenerateEmailConfirmationTokenAsync(user.Id);

            //var callbackUrl = new Uri(Url.Link("ConfirmEmailRoute", new { userId = user.Id, code = code }));

            //await this.AppUserManager.SendEmailAsync(createUserModel.Email,
            //                                        "Confirm your account",
            //                                        "Your account has been setup. The username and password are:" + createUserModel.Username
            //                                        + "/" + createUserModel.Password + "." );

            //EmailNotification emailNotication = new EmailNotification();



            Uri locationHeader = new Uri(Url.Link("GetUserById", new { id = user.Id }));

            return(Created(locationHeader, TheModelFactory.Create(user)));



            //return Ok();
        }