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>
/// Business entity's country code of origin
/// </summary>
public string CountryCode { get; set; }
public string CountryCode { get; set; } = "";
/// <summary>
/// Business entity vat number
/// </summary>
public string VatNumber { get; set; }
public string VatNumber { get; set; } = "";
/// <summary>
/// Request date
/// </summary>
@ -52,9 +52,9 @@ public class ViesEntityModel
/// <summary>
/// Business entity name
/// </summary>
public string Name { get; set; }
public string Name { get; set; } = "";
/// <summary>
/// Business entity address
/// </summary>
public string Address { get; set; }
public string Address { get; set; } = "";
}

View file

@ -33,9 +33,10 @@ public class ViesQuery
/// <summary>
/// Country code for country to query
/// </summary>
public string CountryCode { get; set; }
public string CountryCode { get; set; } = "";
/// <summary>
/// Vat number to query
/// </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"),
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;
}

View file

@ -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
/// <see cref="ViesEntityModel"/>
/// <see cref="VatState"/>
/// <see cref="TimeFrame"/>
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",