private Transaction(IMergeableConfig persistable, Action<IMergeableConfig> onCloseTransactionCallback) { if (persistable is Transaction) { throw new InvalidOperationException( "Cannot start new transaction as a transaction is already active. Only one active transaction is allowed."); } this.persistable = persistable.CheckNotNull(nameof(persistable)); this.onCloseTransactionCallback = onCloseTransactionCallback.CheckNotNull(nameof(onCloseTransactionCallback)); }
/// <summary> /// 发送验证码 /// </summary> /// <param name="codeKey">验证码Key</param> /// <param name="validateType">验证方式</param> /// <param name="codeType">验证码类型</param> /// <param name="sendAction">发送委托</param> /// <returns>业务操作结果</returns> private async Task<OperationResult> SendValidateCode(string codeKey, ValidateType validateType, CodeType codeType, Action<string> sendAction) { codeKey.CheckNotNull("codeKey"); sendAction.CheckNotNull("sendAction"); string validateCode = new ValidateCoder().GetCode(6, ValidateCodeType.Number); var codeEntity = new ValidateCode() { CodeKey = codeKey, Code = validateCode, ValidateType = validateType, CodeType = codeType }; await ValidateCodeRepo.InsertAsync(codeEntity); sendAction(validateCode); return new OperationResult(OperationResultType.Success, "验证码发送成功", ""); }