/// <summary> /// Updates name-surname-profilePhoto /// </summary> /// <param name="userMessage"></param> public void UpdateUser(EditUserMessage userMessage) { if (userMessage.UserId == 0 && string.IsNullOrWhiteSpace(userMessage.Username)) { throw new ArgumentException($"Either user id or username must be provided"); } if (userMessage.UserId == 0 && !string.IsNullOrWhiteSpace(userMessage.Username)) { userMessage.UserId = GetUserIdByUserName(userMessage.Username); } var dbUser = _dbContext.Users.FirstOrDefault(x => x.UserId == userMessage.UserId); if (dbUser == null) { throw new ArgumentException($"User cannot be found with id {userMessage.UserId}"); } dbUser.Name = userMessage.Name ?? dbUser.Name; dbUser.Surname = userMessage.Surname ?? dbUser.Surname; dbUser.ProfilePhoto = userMessage.ProfilePhoto ?? dbUser.ProfilePhoto; _dbContext.SaveChanges(); }
public IActionResult DeleteUser(EditUserMessage userMessage) { try { _obfuscateService.ObfuscateUser(userMessage); } catch (Exception ex) { _logger.LogError(ex.Message, userMessage); return(BadRequest(ex.Message)); } return(Ok("User and related information removed from system successfully")); }
public IActionResult UpdateUser(EditUserMessage userMessage) { try { _userService.UpdateUser(userMessage); } catch (Exception ex) { _logger.LogError(ex.Message, userMessage); return(BadRequest(ex.Message)); } return(Ok("User saved successfully")); }
public void ObfuscateUser(EditUserMessage userMessage) { if (userMessage.UserId == 0 && string.IsNullOrWhiteSpace(userMessage.Username)) { throw new ArgumentException($"Either user id or username must be provided"); } if (userMessage.UserId == 0 && !string.IsNullOrWhiteSpace(userMessage.Username)) { userMessage.UserId = _userService.GetUserIdByUserName(userMessage.Username); } var dbUser = _dbContext.Users.Include(b => b.UserContacts).FirstOrDefault(x => x.UserId == userMessage.UserId); dbUser.Name = OBFUSCATE_STRING; dbUser.Surname = OBFUSCATE_STRING; dbUser.ProfilePhoto = OBFUSCATE_STRING; // Obfuscate user financial if (dbUser.UserFinancial != null) { dbUser.UserFinancial.IBAN = OBFUSCATE_STRING; dbUser.UserFinancial.SortCode = OBFUSCATE_STRING; dbUser.UserFinancial.AccountNumber = OBFUSCATE_STRING; } // Obfuscate user contacts if (dbUser.UserContacts != null) { foreach (var contactInfo in dbUser.UserContacts) { contactInfo.PostCode = OBFUSCATE_POSTCODE; contactInfo.TelephoneNumber = OBFUSCATE_NUMBER; contactInfo.EmailAddress = OBFUSCATE_EMAIL; } } _dbContext.SaveChanges(); }
public void AddUser(EditUserMessage userMessage) { // Check required info persist // Check username is not taken if (_dbContext.Users.AsNoTracking().Any(x => x.Username.ToLower().Equals(userMessage.Username.ToLower()))) { throw new InvalidOperationException($"Username '{userMessage.Username}' is already taken"); } // Check mobileNumber is unique // Check emailaddress is unique var newUser = new User { Name = userMessage.Name, Surname = userMessage.Surname, ProfilePhoto = userMessage.ProfilePhoto, Username = userMessage.Username }; if (!string.IsNullOrEmpty(userMessage.EmailAddress)) { newUser.UserContacts = new List <UserContact> { new UserContact { EmailAddress = userMessage.EmailAddress, PostCode = userMessage.PostCode, TelephoneNumber = userMessage.TelephoneNumber, RegionCode = userMessage.RegionCode } }; } _dbContext.Users.Add(newUser); _dbContext.SaveChanges(); }