예제 #1
0
        public async Task <RESTResult> AddOrUpdateUserInfo(UserInfoDataTransferObject userInfo, Guid userId)
        {
            RESTResult result = new RESTResult {
                Code = RESTStatus.Failed
            };
            var userInfos = await _userInfoRepository.GetAllListAsync(item => item.UserId.Equals(userId));

            if (userInfos.Count <= 0)
            {
                //TODO:Add user info
                var userInfoModle = Mapper.Map <UserInfoDataTransferObject, UserInfo>(userInfo);
                userInfoModle.UserId = userId;
                await _userInfoRepository.InsertAsync(userInfoModle);

                result.Code    = RESTStatus.Success;
                result.Message = "Create User info successful";
                return(result);
            }
            else
            {
                //TODO:Update user info
                var userinfoEntity = userInfos.First();
                userinfoEntity.FirstName  = userInfo.FirstName;
                userinfoEntity.LastName   = userInfo.LastName;
                userinfoEntity.NickName   = userInfo.NickName;
                userinfoEntity.CardType   = userInfo.CardType;
                userinfoEntity.CardNo     = userInfo.CardNo;
                userinfoEntity.Phone      = userInfo.Phone;
                userinfoEntity.Tel        = userInfo.Tel;
                userinfoEntity.Address    = userInfo.Address;
                userinfoEntity.BirthDate  = userInfo.BirthDate;
                userinfoEntity.ExtendInfo = userInfo.ExtendInfo;
                await _userInfoRepository.UpdateAsync(userinfoEntity);

                result.Code = RESTStatus.Success;
                result.Data = userInfo;
            }
            return(result);
        }
예제 #2
0
 public async Task <IActionResult> CreateUserInfo(Guid userId, [FromBody] UserInfoDataTransferObject userInfo)
 {
     return(Ok(await _userAppService.AddOrUpdateUserInfo(userInfo, userId)));
 }