diff --git a/ViesEntityModel.cs b/ViesEntityModel.cs
index 129efaa..d4fcd9b 100644
--- a/ViesEntityModel.cs
+++ b/ViesEntityModel.cs
@@ -36,11 +36,11 @@ public class ViesEntityModel
///
/// Business entity's country code of origin
///
- public string CountryCode { get; set; }
+ public string CountryCode { get; set; } = "";
///
/// Business entity vat number
///
- public string VatNumber { get; set; }
+ public string VatNumber { get; set; } = "";
///
/// Request date
///
@@ -52,9 +52,9 @@ public class ViesEntityModel
///
/// Business entity name
///
- public string Name { get; set; }
+ public string Name { get; set; } = "";
///
/// Business entity address
///
- public string Address { get; set; }
+ public string Address { get; set; } = "";
}
\ No newline at end of file
diff --git a/ViesQuery.cs b/ViesQuery.cs
index f9140fa..8ccebdc 100644
--- a/ViesQuery.cs
+++ b/ViesQuery.cs
@@ -33,9 +33,10 @@ public class ViesQuery
///
/// Country code for country to query
///
- public string CountryCode { get; set; }
+ public string CountryCode { get; set; } = "";
+
///
/// Vat number to query
///
- public string VatNumber { get; set; }
+ public string VatNumber { get; set; } = "";
}
\ No newline at end of file
diff --git a/ViesResponseParser.cs b/ViesResponseParser.cs
index 13fd078..a89faa5 100644
--- a/ViesResponseParser.cs
+++ b/ViesResponseParser.cs
@@ -52,8 +52,8 @@ public class ViesResponseParser
VatNumber = (string)x.Element(x.Name.Namespace + "vatNumber"),
RequestDate = DateTime.Now,
Valid = (bool)x.Element(x.Name.Namespace + "valid"),
- Name = (string)x.Element(x.Name.Namespace + "name"),
- Address = (string)x.Element(x.Name.Namespace + "address")
+ Name = (string)x.Element(x.Name.Namespace + "name") ?? "",
+ Address = (string)x.Element(x.Name.Namespace + "address") ?? ""
}).FirstOrDefault();
return x;
}
diff --git a/ViesVatInfoMapper.cs b/ViesVatInfoMapper.cs
index ab3e11f..5b92df0 100644
--- a/ViesVatInfoMapper.cs
+++ b/ViesVatInfoMapper.cs
@@ -25,7 +25,9 @@
// ***********************************************************************
using System;
+using System.Collections.Generic;
using System.Globalization;
+using System.Linq.Expressions;
using FCS.Lib.Common;
namespace FCS.Lib.Vies
@@ -44,14 +46,14 @@ namespace FCS.Lib.Vies
///
///
///
- public VatInfoDto MapViesToCrm(ViesEntityModel viesEntity)
+ public VatInfoDto MapViesVatInfoDto(ViesEntityModel viesEntity)
{
var addressBlock = viesEntity.Address.Split('\n');
- string coName;
- string address;
- string zip;
- string city;
- var i = 1;
+ var coName = "";
+ var address = "";
+ var zip = "";
+ var city = "";
+ var i = 0;
if (viesEntity.CountryCode == "SE" && addressBlock.Length > 0)
{
if (addressBlock.Length > 1)
@@ -59,32 +61,59 @@ namespace FCS.Lib.Vies
coName = addressBlock[i];
i++;
}
- address = addressBlock[i];
- i++;
- zip = addressBlock[i].Substring(0, 6).Replace(" ", "");
- city = addressBlock[i].Substring(7).Trim();
+
+ try
+ {
+ address = addressBlock[i].Normalize();
+ }
+ catch
+ {
+ address = "fejl";
+ }
+
+ if (addressBlock.Length > 2)
+ {
+ i++;
+ zip = addressBlock[i].Normalize().Substring(0, 6).Replace(" ", "");
+ city = addressBlock[i].Normalize().Substring(7).Trim();
+ }
}
else
{
if (addressBlock.Length > 1)
{
- coName = addressBlock[i];
+ coName = addressBlock[i].Normalize();
i++;
}
- address = addressBlock[i];
- i++;
- zip = addressBlock[i].Substring(0, 5).Replace(" ", "");
- city = addressBlock[i].Substring(5).Trim();
+
+ try
+ {
+ address = addressBlock[i].Normalize();
+ }
+ catch
+ {
+ address = "fejl";
+ }
+
+ if (addressBlock.Length > 1)
+ {
+ i++;
+ zip = addressBlock[i].Substring(0, 5).Replace(" ", "");
+ city = addressBlock[i].Substring(5).Trim();
+ }
}
+
+ // generate return object
var c = new VatInfoDto
{
- Name = viesEntity.Name,
+ Name = viesEntity.Name.Normalize(),
Address = address,
VatNumber = viesEntity.VatNumber,
City = city,
ZipCode = zip,
RequestDate = DateTime.Now.ToString(CultureInfo.InvariantCulture)
};
+
c.States.Add(new VatState
{
State = viesEntity.Valid ? "NORMAL" : "LUKKET",