public async Task UpdateUserShouldChangeGender() { var db = GetDatabase(); await db.Users.AddAsync(new ApplicationUser() { Id = "1", UserName = "******", Gender = Gender.Other }); await db.SaveChangesAsync(); var userRepo = new EfRepository <ApplicationUser>(db); var service = new UserService(null, userRepo, null); var model = new EditUserProfileInputModel() { FirstName = "Test2", LastName = "Test2", Description = "Test2", Gender = Gender.Male, }; var result = await service.UpdateUser(model, "1"); var actualGender = db.Users.FirstOrDefault(x => x.Id == "1").Gender; Assert.True(result); Assert.Equal(model.Gender, actualGender); }
public IActionResult UpdateUserProfile(EditUserProfileInputModel model) { if (!this.ModelState.IsValid) { return(this.View(model)); } this.accountService.UpdateUserProfile(model); return(this.RedirectToAction("Index", "Home")); }
public async Task <bool> UpdateUser(EditUserProfileInputModel model, string userId) { var user = await this.userRepo.All().FirstOrDefaultAsync(x => x.Id == userId); if (user == null) { return(false); } user.FirstName = model.FirstName; user.LastName = model.LastName; user.Description = model.Description; user.Gender = model.Gender; if (model.ProfileImage != null) { var imageName = Guid.NewGuid().ToString(); var imageUrl = await ApplicationCloudinary.UploadImage(this.cloudinary, model.ProfileImage, imageName); if (!string.IsNullOrEmpty(imageUrl)) { user.ProfileImage = new Image() { Url = imageUrl, Name = imageName, Creator = user, }; } } if (model.CoverImage != null) { var imageName = Guid.NewGuid().ToString(); var imageUrl = await ApplicationCloudinary.UploadImage(this.cloudinary, model.CoverImage, imageName); if (!string.IsNullOrEmpty(imageUrl)) { user.CoverImage = new Image() { Url = imageUrl, Name = imageName, Creator = user, }; } } this.userRepo.Update(user); await this.userRepo.SaveChangesAsync(); return(true); }
public void UpdateUserProfile(EditUserProfileInputModel model) { var user = this.GetUserById(model.Id); user.FirstName = model.FirstName; user.LastName = model.LastName; user.Nickname = model.Nickname; user.BirthDate = model.BirthDate; user.PhoneNumber = model.PhoneNumber; user.Address = model.Address; this.userRepository.Update(user); this.userRepository.SaveChangesAsync().GetAwaiter().GetResult(); }
private Task LoadAsync(ApplicationUser user) { this.Input = new EditUserProfileInputModel { UserName = user.UserName, FirstName = user.FirstName, LastName = user.LastName, Description = user.Description, BirthDate = user.Birthdate, Gender = user.Gender, Email = user.Email, }; return(Task.CompletedTask); }