示例#1
0
 public void UpdatePersonalUserInfo(UserPersonalInfoDto user, string email)
 {
     try
     {
         var existing = _unitOfWork.Users.GetById(id: user.Id);
         if (existing == null)
         {
             throw new ArgumentException("User does not exists");
         }
         if (existing.Email != email)
         {
             throw new ArgumentException("Operation not allowed");
         }
         user.UpdateEntity(existing);
         _activityService.LogActivity(new Activity
         {
             UserId     = existing.Id,
             Importance = ActivityImportance.Medium,
             Type       = ActivityType.UserUpdate,
             Data       = JsonConvert.SerializeObject(existing)
         });
         _unitOfWork.Users.Update(existing);
         _unitOfWork.Save();
     }
     catch (ArgumentException)
     {
         throw;
     }
     catch (Exception e)
     {
         _logger.LogError(e.Message);
         throw new Exception("Error while updating user info. Please try a bit later");
     }
 }
示例#2
0
 public static void UpdateEntity(this UserPersonalInfoDto userDto, User user)
 {
     user.Address          = userDto.Address;
     user.AlternativeEmail = userDto.AlternativeEmail;
     user.City             = userDto.City;
     user.Country          = userDto.Country;
     user.Facebook         = userDto.Facebook;
     user.Twitter          = userDto.Twitter;
     user.Instagram        = userDto.Instagram;
     user.Vk           = userDto.Vk;
     user.Skype        = userDto.Skype;
     user.Phone        = userDto.Phone;
     user.LastActivity = DateTimeOffset.UtcNow;
 }
示例#3
0
 public IActionResult UpdatePersonalUserInfo([FromBody] UserPersonalInfoDto userDto)
 {
     try
     {
         var email = User.Claims.SingleOrDefault(c => c.Type == "email")?.Value;
         if (string.IsNullOrEmpty(email))
         {
             return(BadRequest("Authorization failed."));
         }
         _accountService.UpdatePersonalUserInfo(userDto, email);
         return(Ok());
     }
     catch (Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
示例#4
0
 async Task <IAccountSummaryDto> IUserGrain.SetUserPersonalInfo(UserPersonalInfoDto info)
 {
     throw new NotImplementedException();
 }