kreta/Kreta.BusinessLogic/Utils/NevUtils.cs
2024-03-13 00:33:46 +01:00

50 lines
1.7 KiB
C#

using System.Linq;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Core;
namespace Kreta.BusinessLogic.Utils
{
public static class NevUtils
{
public static NevCo GetNevCo(string nev)
{
if (nev.IndexOf(' ') < 0)
{
nev += ' ';
}
NevCo result;
string nevElsoReszCompare = nev?.Split(' ')[0].ToComparableString();
if (Constants.ElotagList.Any(x => x.ToComparableString() == nevElsoReszCompare))
{
result = new NevCo
{
Elotag = nev?.Split(' ')[0],
Vezeteknev = nev?.Split(' ')[1]
};
//NOTE: A keresztneveket úgy kapjuk vissza, hogy levágjuk a teljes névből az elejét(Előtag + Vezetéknév + a 2 szóköz, ami ezeket követi)!
if ((result.Elotag.Length + result.Vezeteknev.Length + 2) <= (nev?.Length ?? 0))
{
result.Keresztnev = nev?.Substring(result.Elotag.Length + result.Vezeteknev.Length + 2);
}
}
else
{
result = new NevCo
{
Elotag = null,
Vezeteknev = nev?.Split(' ')[0]
};
//NOTE: A keresztneveket úgy kapjuk vissza, hogy levágjuk a teljes névből az elejét(Vezetéknév + a szóköz, ami ezt követi)!
if ((result.Vezeteknev.Length + 1) <= (nev?.Length ?? 0))
{
result.Keresztnev = nev?.Substring(result.Vezeteknev.Length + 1);
}
}
return result;
}
}
}