refactor parser
This commit is contained in:
parent
2f23ecf7a7
commit
501ddc6b74
3 changed files with 18 additions and 17 deletions
|
@ -50,7 +50,7 @@
|
|||
<Compile Include="ViesQuery.cs" />
|
||||
<Compile Include="ViesQueryValidator.cs" />
|
||||
<Compile Include="ViesResponseView.cs" />
|
||||
<Compile Include="ViesResultParser.cs" />
|
||||
<Compile Include="ViesResponseParser.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="LICENSE" />
|
||||
|
|
|
@ -34,7 +34,7 @@ namespace FCS.Lib.Vies
|
|||
{
|
||||
public class ViesHttpRequest
|
||||
{
|
||||
//"http://ec.europa.eu/taxation_customs/vies/services/checkVatService"
|
||||
//"http://ec.europa.eu/taxation_customs/vies/services/checkVatService"
|
||||
public async Task<ViesResponseView> GetResponseAsync(string endpoint, string countryCode, string vatNumber)
|
||||
{
|
||||
var xml = new StringBuilder();
|
||||
|
@ -53,6 +53,7 @@ namespace FCS.Lib.Vies
|
|||
using var client = new HttpClient();
|
||||
using var viesRequest = new HttpRequestMessage(HttpMethod.Post, endpoint);
|
||||
viesRequest.Headers.Add("SOAPAction", "");
|
||||
viesRequest.Headers.Add("User-Agent", "Innotec Danmark AS - info.innotec.dk");
|
||||
viesRequest.Content = content;
|
||||
var response = await client.SendAsync(viesRequest).ConfigureAwait(true);
|
||||
var xmlResult = await response.Content.ReadAsStringAsync().ConfigureAwait(true);
|
||||
|
|
|
@ -23,28 +23,28 @@
|
|||
// </copyright>
|
||||
// <summary></summary>
|
||||
// ***********************************************************************
|
||||
|
||||
using System.Linq;
|
||||
using System.Xml.Linq;
|
||||
|
||||
namespace FCS.Lib.Vies;
|
||||
|
||||
public class ViesResultParser
|
||||
public class ViesResponseParser
|
||||
{
|
||||
public ViesEntityModel ParesViesResult(string xmlData)
|
||||
public ViesEntityModel ParseViesResponse(string xmlData)
|
||||
{
|
||||
var xmlDoc = XDocument.Parse(xmlData);
|
||||
var result = (from x in xmlDoc.Root?.Elements("checkVatResponse")
|
||||
select new ViesEntityModel
|
||||
{
|
||||
CountryCode = (string)x.Element("countryCode"),
|
||||
VatNumber = (string)x.Element("vatNumber"),
|
||||
RequestDate = (string)x.Element("requestDate"),
|
||||
Valid = (bool)x.Element("valid"),
|
||||
Name = (string)x.Element("name"),
|
||||
Address = (string)x.Element("address")
|
||||
}).FirstOrDefault();
|
||||
var xml = XDocument.Parse(xmlData);
|
||||
|
||||
return result;
|
||||
var x = xml.Descendants().Where(c => c.Name.LocalName == "checkVatResponse")
|
||||
.Select(x => new ViesEntityModel()
|
||||
{
|
||||
CountryCode = (string)x.Element(x.Name.Namespace + "countryCode"),
|
||||
VatNumber = (string)x.Element(x.Name.Namespace + "vatNumber"),
|
||||
RequestDate = (string)x.Element(x.Name.Namespace + "requestDate"),
|
||||
Valid = (bool)x.Element(x.Name.Namespace + "valid"),
|
||||
Name = (string)x.Element(x.Name.Namespace + "name"),
|
||||
Address = (string)x.Element(x.Name.Namespace + "address")
|
||||
}).FirstOrDefault();
|
||||
return x;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in a new issue