public async Task <ReceivedInvoices> SubmitSimplifiedInvoiceAsync(SimplifiedInvoicesToSubmit model) { var request = new ModelToDtoConverter().Convert(model); var response = await SoapClient.SendAsync <SubmitIssuedInvoicesRequest, SubmitIssuedInvoicesResponse>(request); return(new DtoToModelConverter().Convert(response)); }
public SubmitIssuedInvoicesRequest Convert(SimplifiedInvoicesToSubmit model) { return(new SubmitIssuedInvoicesRequest { Cabecera = Convert(model.Header), RegistroLRFacturasEmitidas = model.Invoices.Select(i => Convert(i)).ToArray() }); }
private async Task <SimplifiedInvoice> SuccessfullyPostInvoice(Client client) { var invoice = GetInvoice(IssuingCompany, ReceivingCompany); var model = SimplifiedInvoicesToSubmit.Create( header: new Header(IssuingCompany, CommunicationType.Registration), invoices: new[] { invoice } ).Success.Get(); var response = await client.SubmitSimplifiedInvoiceAsync(model); var responseErrorMessages = response.Invoices.Select(i => i.ErrorMessage).Flatten(); var errorMessage = String.Join(System.Environment.NewLine, responseErrorMessages); Assert.AreEqual(response.Result, RegisterResult.Correct, errorMessage); return(invoice); }