private CashoutRiskControlAggregate(
            string version,
            CashoutRiskControlState state,
            CashoutRiskControlResult result,
            DateTime creationMoment,
            DateTime?startMoment,
            DateTime?operationAcceptanceMoment,
            DateTime?operationRejectionMoment,
            Guid operationId,
            Guid clientId,
            string assetId,
            string blockchainType,
            string blockchainAssetId,
            string hotWalletAddress,
            string toAddress,
            decimal amount,
            string error)
        {
            Version = version;
            State   = state;
            Result  = result;

            CreationMoment            = creationMoment;
            StartMoment               = startMoment;
            OperationAcceptanceMoment = operationAcceptanceMoment;
            OperationRejectionMoment  = operationRejectionMoment;

            OperationId       = operationId;
            ClientId          = clientId;
            AssetId           = assetId;
            BlockchainType    = blockchainType;
            BlockchainAssetId = blockchainAssetId;
            HotWalletAddress  = hotWalletAddress;
            ToAddress         = toAddress;
            Amount            = amount;

            Error = error;
        }
 public static CashoutRiskControlAggregate Restore(
     string version,
     CashoutRiskControlState state,
     CashoutRiskControlResult result,
     DateTime creationMoment,
     DateTime?startMoment,
     DateTime?operationAcceptanceMoment,
     DateTime?operationRejectionMoment,
     Guid operationId,
     Guid clientId,
     string assetId,
     string blockchainType,
     string blockchainAssetId,
     string hotWalletAddress,
     string toAddress,
     decimal amount,
     string error)
 {
     return(new CashoutRiskControlAggregate(
                version,
                state,
                result,
                creationMoment,
                startMoment,
                operationAcceptanceMoment,
                operationRejectionMoment,
                operationId,
                clientId,
                assetId,
                blockchainType,
                blockchainAssetId,
                hotWalletAddress,
                toAddress,
                amount,
                error));
 }