public async Task <IActionResult> UpdateMediaProfile(MediaProfileDto mediaProfile) { var userId = GetUserId(); var updatedUserInfoDto = await _userInformationService.UpdateMediaProfile(userId, mediaProfile); await _unitOfWork.Commit(); return(Ok(updatedUserInfoDto)); }
public async Task <UserInfoDto> UpdateMediaProfile(string id, MediaProfileDto mediaProfile) { var userInfoModel = await _userInformationRepo.GetOne(id); var mediaProps = typeof(MediaProfileDto).GetProperties(); foreach (var prop in mediaProps) { var mediaPropValue = typeof(MediaProfileDto).GetProperty(prop.Name)?.GetValue(mediaProfile); if (mediaPropValue != null) { typeof(UserInformation).GetProperty(prop.Name)?.SetValue(userInfoModel, mediaPropValue); } } return(_mapper.Map <UserInfoDto>(userInfoModel)); }