public IActionResult UpdateProfile(UpdateCustomerProfileDto updateProfileData, long userId) { return(DoWorkAfterValidation( () => _accountService.UpdateCustomerProfile(GetCurrentUserId(), updateProfileData, userId).Result .Match <IActionResult>( Ok, BadRequest ) )); }
public async Task <IResult <GenericResponse> > UpdateCustomerProfile(IOption <long> id, UpdateCustomerProfileDto updateProfileData, long requestUserId) { if (id.IsNone || id.Always() != requestUserId) { return(await Response <GenericResponse> .GetErrorResponseMessage("You are not authorized.")); } var user = await _userService.GetUser(id.Always()); if (!user.IsNone) { var alwaysAUser = user.Always(); _mapper.Map(updateProfileData, alwaysAUser); // (from, to) alwaysAUser.ModifiedOn = DateTime.UtcNow; if (_userService.UpdateUser(alwaysAUser, alwaysAUser.Id)) { return(await Task <IResult <GenericResponse> > .Factory.StartNew( () => Response <GenericResponse> .SuccessResponese( "Successfully updated profile." ))); } return(await Response <GenericResponse> .GetErrorResponseMessage("Problem updating profile.")); } return(await Response <GenericResponse> .GetErrorResponseMessage("Could not find the account.")); }