using System.Collections.Generic; using UnityEngine; public class ClientData : CsvData { public string Email { get; set; } public string Time { get; set; } public string Date { get; set; } // yyyy-mm-dd public ClientData(string email,string time,string date, List header) { Email = email; Time = time; Date = date; var isHeaderSet = SetHeader(header ,true); _isHeaderSet = isHeaderSet.isHeaderSet; _headers = isHeaderSet.headers; _indexes = InitializeIndexes(_isHeaderSet, _headers); } public ClientData(string line, bool isHeaderSet, List headers, Dictionary indexes) { _line = line; _isHeaderSet = isHeaderSet; _headers = headers; _indexes = indexes; string[] lineElements = line.Split(','); foreach (var keyValue in _indexes) { string element = ExtractElementFromLine(lineElements, keyValue.Value); switch (keyValue.Key) { case CsvHeaders.Email: Email = element; break; case CsvHeaders.Time: Time = element; break; case CsvHeaders.Date: Date = element; break; default: break; } } } public static List GetDataFromCsv(List loadsFromCsv) { var value = SetHeader(loadsFromCsv); var indexes = InitializeIndexes(value.Item1, value.Item2); return ExtractTFromCsvToList(loadsFromCsv, value.Item1, indexes, line => new ClientData(line, value.Item1, value.Item2, indexes)); } public static Dictionary InitializeIndexes(bool isHeaderSet, List headers) { Dictionary indexes = new(); indexes = InitializeIndexesWithHeaders(headers); return indexes; } public override string GetPropertyValue(CsvHeaders header) { switch (header) { case CsvHeaders.Email: return Email; case CsvHeaders.Time: return Time; case CsvHeaders.Date: return Date; default: Debug.Log("No Property found for " + header.ToString()); return ""; } } public override Dictionary GetFilters() { return null; } }