public void ModifyDocumentRequest_Serialization() { IComponentSerializer serializer = new XmlComponentSerializer(); ModifyDocumentRequest request = new ModifyDocumentRequest(serializer); AccountInfo accountInfo = new AccountInfo("user", "123", "yyyyMMddHHmmss"); request .AddAccountInfo(accountInfo) .AddDocumentInfo(new Library.Models.Document { ClientId = _settings.ClientId, DocumentNumber = "123", BillingAddress = "Calle Bronce", BillingCity = "Madrid", BillingZipCode = "28050", ShippingAddress = "Ronda de la comunicación", ShippingCity = "Madrid", ShippingClientName = "Jose", ShippingCountry = "ES", ShippingNIF = "93048596k" }) .AddLineItem(new Library.Models.LineItem { ClientId = _settings.ClientId, OwnerId = "456", ProductCode = "789", ProductStateId = "1", QCStateId = "2", Quantity = 2 }) .AddLineItem(new Library.Models.LineItem { ClientId = _settings.ClientId, OwnerId = "456", ProductCode = "789", ProductStateId = "1", QCStateId = "2", Quantity = 4 }); var result = request.BuildRequest(); string expectedResult = "<BODY><INFOCUENTA><USUARIO>user</USUARIO><CLAVE>123</CLAVE>" + "<FECHA>yyyyMMddHHmmss</FECHA></INFOCUENTA><DOCUMENTO><REGISTRO><CABECERA>" + "<ID_CLIENTE>" + _settings.ClientId + "</ID_CLIENTE><NUMERO_DOCUMENTO>123</NUMERO_DOCUMENTO>" + "<DIRECCION_SOL>Calle Bronce</DIRECCION_SOL><POBLACION_SOL>Madrid</POBLACION_SOL>" + "<COD_POSTAL_SOL>28050</COD_POSTAL_SOL><NOMBRE_CONS>Jose</NOMBRE_CONS><NIF_CONS>93048596k</NIF_CONS>" + "<DIRECCION_CONS>Ronda de la comunicación</DIRECCION_CONS><POBLACION_CONS>Madrid</POBLACION_CONS>" + "<PAIS_CONS>ES</PAIS_CONS></CABECERA><LINEA><ID_CLIENTE>" + _settings.ClientId + "</ID_CLIENTE><COD_ARTICULO>789</COD_ARTICULO>" + "<ID_ESTADO_PRODUCTO>1</ID_ESTADO_PRODUCTO><ID_ESTADO_QC>2</ID_ESTADO_QC>" + "<ID_PROPIETARIO>456</ID_PROPIETARIO><CANTIDAD>2</CANTIDAD></LINEA><LINEA><ID_CLIENTE>" + _settings.ClientId + "</ID_CLIENTE>" + "<COD_ARTICULO>789</COD_ARTICULO><ID_ESTADO_PRODUCTO>1</ID_ESTADO_PRODUCTO><ID_ESTADO_QC>2</ID_ESTADO_QC>" + "<ID_PROPIETARIO>456</ID_PROPIETARIO><CANTIDAD>4</CANTIDAD></LINEA></REGISTRO></DOCUMENTO></BODY>"; Assert.AreEqual(result, expectedResult); }
public async Task <ModifyDocumentResponse> ModifyDocument(ModifyDocumentRequest request) { var accountInfo = _auth.GenerateSecurityInformation(); request.AddAccountInfo(accountInfo); ModificaDocumentoClient client = new ModificaDocumentoClient(); var result = await client.modificaDocumentoXMLAsync(request.BuildRequest()); return(_deserializer.Deserialize <ModifyDocumentResponse>(result)); }