50 lines
1.7 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|