public async Task <IActionResult> CreateUser(OrdUser ordUserMod) { var user = await _userService.GetOrdUserByOAuthIdAsync(ordUserMod.OauthId); if (user != null) { return(Conflict(new { Error = $"A user with the Oath Id '{ordUserMod.OauthId}' already exists." })); } var userEnt = new Entities.OrdUser { OauthId = ordUserMod.OauthId, FullName = ordUserMod.FullName, MobileNumber = ordUserMod.MobileNumber, EmailAddress = ordUserMod.EmailAddress, CanPlaceOrders = true }; _userService.CreateUser(userEnt); if (!await _userService.SaveChangesAsync()) { throw new Exception($"Could not create user '{ordUserMod.FullName}'."); } return(Ok(userEnt)); }
public async Task <IActionResult> PatchUpdateUser(int userId, [FromBody] JsonPatchDocument <OrdUser> patchDoc) { if (patchDoc == null) { return(BadRequest()); } var userEnt = await _userService.GetOrdUserAsync(userId); if (userEnt == null) { return(NotFound(new { Error = $"A user with an Id of '{userId}' could not be found." })); } var userMod = new OrdUser { OauthId = userEnt.OauthId, FullName = userEnt.FullName, MobileNumber = userEnt.MobileNumber, EmailAddress = userEnt.EmailAddress, DeviceToken = userEnt.DeviceToken }; patchDoc.ApplyTo(userMod); TryValidateModel(userMod); // Validation if (!ModelState.IsValid) { return(new UnprocessableEntityObjectResult(ModelState)); } userEnt.FullName = userMod.FullName; userEnt.MobileNumber = userMod.MobileNumber; userEnt.EmailAddress = userMod.EmailAddress; userEnt.DeviceToken = userMod.DeviceToken; _userService.UpdateUser(userEnt); if (!await _userService.SaveChangesAsync()) { throw new Exception($"Error updating user '{userMod.FullName}'."); } return(NoContent()); }
public void UpdateUser(OrdUser ordUser) => _userRepo.UpdateEntity(ordUser);
public void DeleteUser(OrdUser ordUser) => _userRepo.DeleteEntity(ordUser);
public void CreateUser(OrdUser ordUser) => _userRepo.AddEntity(ordUser);