public long CreateTransfer(IOriginalTransfer originalTransfer) { if (null == originalTransfer) { throw new ArgumentNullException(nameof(originalTransfer)); } var externalTransferService = Container.Resolve <IExternalTransferService>(); return(externalTransferService.CreateTransfer(originalTransfer)); }
public long CreateTransfer(IOriginalTransfer originalTransfer) { if (null == originalTransfer) { throw new ArgumentNullException(nameof(originalTransfer)); } var request = new OriginalTransfer(originalTransfer.PaymentId, Purse.Parse(originalTransfer.SourcePurse), Purse.Parse(originalTransfer.TargetPurse), (Amount)originalTransfer.Amount) { Description = (Description)originalTransfer.Description, Period = originalTransfer.ProtectionPeriod, Code = (Description)originalTransfer.ProtectionCode, Force = originalTransfer.Force, Initializer = Session.AuthenticationService.ObtainInitializer() }; if (null != originalTransfer.InvoiceId) { request.InvoiceId = (uint)originalTransfer.InvoiceId.Value; } TransferEnvelope response; try { response = request.Submit(); } catch (WmException exception) { throw new ExternalServiceException(exception.Message, exception); } return(response.Transfer.PrimaryId); }