Beispiel #1
0
        /// <summary>
        /// 保存用户信息
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public SaveUserInfoResponse SaveUserInfo(SaveUserInfoRequest request)
        {
            var response = new SaveUserInfoResponse();

            if (request.UserInfoEntity == null)
            {
                response.IsSuccess   = false;
                response.MessageCode = "1";
                response.MessageText = "用户信息不能为空";
                return(response);
            }

            try
            {
                var entity = request.UserInfoEntity.As <UserInfoPo>();

                if (entity.Id == 0)
                {
                    #region 新增
                    if (_userInfoRepository.Any <UserInfoPo>(e => e.IsValid == 1 && e.LoginName == entity.LoginName))
                    {
                        throw new Exception("账号已经存在");
                    }

                    if (_userInfoRepository.Any <UserInfoPo>(e => e.IsValid == 1 && e.Email == entity.Email))
                    {
                        throw new Exception("邮箱已经存在");
                    }

                    EntityLogger.CreateEntity(entity);

                    entity.Id = _userInfoRepository.InsertReturnIdentity(entity);
                    #endregion
                }
                else
                {
                    #region 更新
                    var entitytemp = _userInfoRepository.FindSingle <UserInfoPo>(entity.Id);

                    if (entitytemp == null)
                    {
                        throw new Exception("更新用户信息不存在");
                    }

                    EntityLogger.UpdateEntity(entity);

                    _userInfoRepository.UpdateIgnoreColumns(entity, e => new { e.IsValid, e.CreateTime, e.CreateUserId, e.HeadimgUrl });
                    #endregion
                }

                response.UserInfoEntity = entity.As <UserInfoDto>();
            }
            catch (Exception ex)
            {
                response.IsSuccess   = false;
                response.MessageCode = "-1";
                response.MessageText = ex.Message;
                LogManager.LogicLogger.ErrorFormat("登录查询出错:{0}", new { request, err = ex.ToString() }.ToJson());
            }

            return(response);
        }