refactor mapping - initialized non-null properties
This commit is contained in:
parent
1f228d2375
commit
243989f3b4
4 changed files with 54 additions and 24 deletions
|
@ -36,11 +36,11 @@ public class ViesEntityModel
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Business entity's country code of origin
|
/// Business entity's country code of origin
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string CountryCode { get; set; }
|
public string CountryCode { get; set; } = "";
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Business entity vat number
|
/// Business entity vat number
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string VatNumber { get; set; }
|
public string VatNumber { get; set; } = "";
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Request date
|
/// Request date
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -52,9 +52,9 @@ public class ViesEntityModel
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Business entity name
|
/// Business entity name
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Name { get; set; }
|
public string Name { get; set; } = "";
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Business entity address
|
/// Business entity address
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Address { get; set; }
|
public string Address { get; set; } = "";
|
||||||
}
|
}
|
|
@ -33,9 +33,10 @@ public class ViesQuery
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Country code for country to query
|
/// Country code for country to query
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string CountryCode { get; set; }
|
public string CountryCode { get; set; } = "";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Vat number to query
|
/// Vat number to query
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string VatNumber { get; set; }
|
public string VatNumber { get; set; } = "";
|
||||||
}
|
}
|
|
@ -52,8 +52,8 @@ public class ViesResponseParser
|
||||||
VatNumber = (string)x.Element(x.Name.Namespace + "vatNumber"),
|
VatNumber = (string)x.Element(x.Name.Namespace + "vatNumber"),
|
||||||
RequestDate = DateTime.Now,
|
RequestDate = DateTime.Now,
|
||||||
Valid = (bool)x.Element(x.Name.Namespace + "valid"),
|
Valid = (bool)x.Element(x.Name.Namespace + "valid"),
|
||||||
Name = (string)x.Element(x.Name.Namespace + "name"),
|
Name = (string)x.Element(x.Name.Namespace + "name") ?? "",
|
||||||
Address = (string)x.Element(x.Name.Namespace + "address")
|
Address = (string)x.Element(x.Name.Namespace + "address") ?? ""
|
||||||
}).FirstOrDefault();
|
}).FirstOrDefault();
|
||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,9 @@
|
||||||
// ***********************************************************************
|
// ***********************************************************************
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
|
using System.Linq.Expressions;
|
||||||
using FCS.Lib.Common;
|
using FCS.Lib.Common;
|
||||||
|
|
||||||
namespace FCS.Lib.Vies
|
namespace FCS.Lib.Vies
|
||||||
|
@ -44,14 +46,14 @@ namespace FCS.Lib.Vies
|
||||||
/// <see cref="ViesEntityModel"/>
|
/// <see cref="ViesEntityModel"/>
|
||||||
/// <see cref="VatState"/>
|
/// <see cref="VatState"/>
|
||||||
/// <see cref="TimeFrame"/>
|
/// <see cref="TimeFrame"/>
|
||||||
public VatInfoDto MapViesToCrm(ViesEntityModel viesEntity)
|
public VatInfoDto MapViesVatInfoDto(ViesEntityModel viesEntity)
|
||||||
{
|
{
|
||||||
var addressBlock = viesEntity.Address.Split('\n');
|
var addressBlock = viesEntity.Address.Split('\n');
|
||||||
string coName;
|
var coName = "";
|
||||||
string address;
|
var address = "";
|
||||||
string zip;
|
var zip = "";
|
||||||
string city;
|
var city = "";
|
||||||
var i = 1;
|
var i = 0;
|
||||||
if (viesEntity.CountryCode == "SE" && addressBlock.Length > 0)
|
if (viesEntity.CountryCode == "SE" && addressBlock.Length > 0)
|
||||||
{
|
{
|
||||||
if (addressBlock.Length > 1)
|
if (addressBlock.Length > 1)
|
||||||
|
@ -59,32 +61,59 @@ namespace FCS.Lib.Vies
|
||||||
coName = addressBlock[i];
|
coName = addressBlock[i];
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
address = addressBlock[i];
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
address = addressBlock[i].Normalize();
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
address = "fejl";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (addressBlock.Length > 2)
|
||||||
|
{
|
||||||
i++;
|
i++;
|
||||||
zip = addressBlock[i].Substring(0, 6).Replace(" ", "");
|
zip = addressBlock[i].Normalize().Substring(0, 6).Replace(" ", "");
|
||||||
city = addressBlock[i].Substring(7).Trim();
|
city = addressBlock[i].Normalize().Substring(7).Trim();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (addressBlock.Length > 1)
|
if (addressBlock.Length > 1)
|
||||||
{
|
{
|
||||||
coName = addressBlock[i];
|
coName = addressBlock[i].Normalize();
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
address = addressBlock[i];
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
address = addressBlock[i].Normalize();
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
address = "fejl";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (addressBlock.Length > 1)
|
||||||
|
{
|
||||||
i++;
|
i++;
|
||||||
zip = addressBlock[i].Substring(0, 5).Replace(" ", "");
|
zip = addressBlock[i].Substring(0, 5).Replace(" ", "");
|
||||||
city = addressBlock[i].Substring(5).Trim();
|
city = addressBlock[i].Substring(5).Trim();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// generate return object
|
||||||
var c = new VatInfoDto
|
var c = new VatInfoDto
|
||||||
{
|
{
|
||||||
Name = viesEntity.Name,
|
Name = viesEntity.Name.Normalize(),
|
||||||
Address = address,
|
Address = address,
|
||||||
VatNumber = viesEntity.VatNumber,
|
VatNumber = viesEntity.VatNumber,
|
||||||
City = city,
|
City = city,
|
||||||
ZipCode = zip,
|
ZipCode = zip,
|
||||||
RequestDate = DateTime.Now.ToString(CultureInfo.InvariantCulture)
|
RequestDate = DateTime.Now.ToString(CultureInfo.InvariantCulture)
|
||||||
};
|
};
|
||||||
|
|
||||||
c.States.Add(new VatState
|
c.States.Add(new VatState
|
||||||
{
|
{
|
||||||
State = viesEntity.Valid ? "NORMAL" : "LUKKET",
|
State = viesEntity.Valid ? "NORMAL" : "LUKKET",
|
||||||
|
|
Loading…
Reference in a new issue