Files
2026-03-17 09:53:09 -05:00

59 lines
1.6 KiB
C#

using LCU.Library.Internal.IncentiveApiModels.Entities;
using LCU.Library.Internal.IncentiveApiModels.Enums;
namespace LCU.API.Internal.Operations.IncentiveApiLib.Services;
public class DataParsingService
{
public static List<ActivityMetaData> MapActivityMetaData(List<string> dataStrings)
{
var parsedMetaData = new List<ActivityMetaData>();
foreach (var dataString in dataStrings)
{
if (!string.IsNullOrWhiteSpace(dataString))
{
foreach (var item in dataString.Split(",", StringSplitOptions.RemoveEmptyEntries))
{
parsedMetaData.Add(DetermineActivityMetaData(item));
}
}
}
return parsedMetaData;
}
public static ActivityMetaData DetermineActivityMetaData(string metaDataString)
{
if (string.IsNullOrWhiteSpace(metaDataString))
{
return null;
}
if (metaDataString.Contains("@"))
{
return new ActivityMetaData
{
MetaData = metaDataString.Trim(),
MetaDataType = MetaDataType.Email
};
}
var phoneString = DataCleaningService.CleanedPhoneNumber(metaDataString);
if (phoneString.Length == 10)
{
return new ActivityMetaData
{
MetaData = phoneString.Trim(),
MetaDataType = MetaDataType.Phone
};
}
return new ActivityMetaData
{
MetaData = metaDataString.Trim(),
MetaDataType = MetaDataType.Unknown
};
}
}