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 MapActivityMetaData(List dataStrings) { var parsedMetaData = new List(); 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 }; } }