refactor mapping - initialized non-null properties

This commit is contained in:
Frede Hundewadt 2023-01-19 13:52:18 +01:00
parent 1f228d2375
commit 243989f3b4
4 changed files with 54 additions and 24 deletions

View file

@ -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; } = "";
} }

View file

@ -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; } = "";
} }

View file

@ -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;
} }

View file

@ -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",