public async Task <Result> UpdateUser(UpdateApplicationUser updateApplicationUser)
        {
            if (_userManager == null)
            {
                throw new IdentityObjectNotInitialized("UserManager");
            }

            var user = await _userManager.FindByIdAsync(updateApplicationUser.Id);

            user.FirstName   = updateApplicationUser.FirstName;
            user.LastName    = updateApplicationUser.LastName;
            user.Email       = updateApplicationUser.Email;
            user.UserName    = updateApplicationUser.Email;
            user.PhoneNumber = updateApplicationUser.PhoneNumber;

            if (!string.IsNullOrWhiteSpace(updateApplicationUser.Password))
            {
                var token = await _userManager.GeneratePasswordResetTokenAsync(user);

                await _userManager.ResetPasswordAsync(user, token, updateApplicationUser.Password);
            }

            if (!string.IsNullOrWhiteSpace(updateApplicationUser.RoleName))
            {
                await _userManager.AddToRoleAsync(user, updateApplicationUser.RoleName);
            }

            var result = await _userManager.UpdateAsync(user);

            return(result.ToApplicationResult());
        }
        public void UpdateApplicationUserRole()
        {
            UpdateApplicationUser viewModel = new UpdateApplicationUser()
            {
                Id = Context.ApplicationUser.FirstOrDefault().Id,
                ApplicationRolesId = new List <int> {
                    2
                }
            };

            Service.UpdateApplicationUserRole(viewModel, Context.ApplicationUser.FirstOrDefault());

            Assert.Pass();
        }
        public async Task UpdateApplicationUser()
        {
            UpdateApplicationUser viewModel = new UpdateApplicationUser()
            {
                Id = Context.ApplicationUser.FirstOrDefault().Id,
                ApplicationRolesId = new List <int> {
                    Context.ApplicationRole.FirstOrDefault().Id
                }
            };

            await Service.UpdateApplicationUser(viewModel);

            Assert.Pass();
        }
Exemple #4
0
        /// <summary>
        /// Updates Application User Role
        /// </summary>
        /// <param name="viewModel">Injected <see cref="UpdateApplicationUser"/></param>
        /// <param name="entity">Injected <see cref="ApplicationUser"/></param>
        public void UpdateApplicationUserRole(UpdateApplicationUser @viewModel, ApplicationUser @applicationUser)
        {
            @viewModel.ApplicationRolesId.AsQueryable().ToList().ForEach(async x =>
            {
                ApplicationRole @applicationRole = await FindApplicationRoleById(x);

                ApplicationUserRole @applicationUserRole = new()
                {
                    UserId = @applicationUser.Id,
                    RoleId = @applicationUser.Id,
                };

                @applicationUser.ApplicationUserRoles.Add(@applicationUserRole);
            });
        }
Exemple #5
0
        public virtual IHttpActionResult Put(string id, [FromBody] UpdateApplicationUser value)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            ApplicationUser model = repository.GetByID(id);

            try
            {
                model.Update(value);
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }

            repository.Update(model);
            return(Content(HttpStatusCode.NoContent, ""));
        }
Exemple #6
0
        /// <summary>
        /// Updates Application User
        /// </summary>
        /// <param name="viewModel">Injected <see cref="UpdateApplicationUser"/></param>
        /// <returns>Instance of <see cref="Task{ViewApplicationUser}"/></returns>
        public async Task <ViewApplicationUser> UpdateApplicationUser(UpdateApplicationUser @viewModel)
        {
            ApplicationUser @applicationUser = await FindApplicationUserById(@viewModel.Id);

            @applicationUser.ApplicationUserRoles = new List <ApplicationUserRole>();

            Context.ApplicationUser.Update(@applicationUser);

            UpdateApplicationUserRole(@viewModel, @applicationUser);

            await Context.SaveChangesAsync();

            // Log
            string logData = @applicationUser.GetType().Name
                             + " with Id"
                             + @applicationUser.Id
                             + " was modified at "
                             + DateTime.Now.ToShortTimeString();

            Logger.WriteUpdateItemLog(@logData);

            return(Mapper.Map <ViewApplicationUser>(@applicationUser));;
        }
        public async Task <EntityApiResponse <ApplicationUser> > UpdateUserAsync(string userId, UpdateApplicationUser userDetail)
        {
            if (userDetail is null)
            {
                throw new ArgumentNullException(nameof(userDetail));
            }

            var user = await _userManger.FindByIdAsync(userId);

            user.FirstName      = userDetail.FirstName;
            user.LastName       = userDetail.LastName;
            user.ProfilePicture = userDetail.ProfilePicture;

            var result = await _userManger.UpdateAsync(user);

            if (!result.Succeeded)
            {
                return(new EntityApiResponse <ApplicationUser>(error: result.Errors.Select(error => error.Description).AllInOne()));
            }

            return(new EntityApiResponse <ApplicationUser>(entity: user));
        }