public Report CreateUser(TUser user)
 {
     return(ServiceBase.ServiceContext.ServiceDelegator.HandleTransactionEvent(DbConfigOfUser.DbName, (session) =>
     {
         return user.Create(session);
     }));
 }
Example #2
0
        public Result <CreateUserResult> Register(TUser user)
        {
            ///Service级的方法决定事务操作的框架,以及落地的数据库
            ///Domain级的方法决定领域操作的具体执行逻辑
            ///Entity级的方法
            return(ServiceContext.ServiceDelegator.HandleSimpleTransactionEvent(nameof(User), (session) =>
            {
                //return new SubjectOperator().CreateUser(session, user);

                Result <CreateUserResult> result = new Result <CreateUserResult>();
                result.Data = user.Create(session);
                if (result.Data == CreateUserResult.Success)
                {
                    result.ResultCode = EResultCode.Success;
                }
                else
                {
                    result.ResultCode = EResultCode.Failure;
                    switch (result.Data)
                    {
                    case CreateUserResult.DbOperationFailed:
                        result.Message = "操作数据库失败";
                        break;

                    case CreateUserResult.UserNameExist:
                        result.Message = "用户名已存在";
                        break;

                    case CreateUserResult.MobileExist:
                        result.Message = "手机已存在";
                        break;

                    case CreateUserResult.EmailExist:
                        result.Message = "邮箱已存在";
                        break;

                    case CreateUserResult.IdExist:
                        result.Message = "Id已存在";
                        break;

                    default:
                        result.Message = "未支持该错误码:" + result.Data.ToString();
                        break;
                    }
                }
                return result;
            }));
        }