private DateHiberarchy BuildHiberarchyFromTable(Table table, List <int> dateColumnIndex) { DateHiberarchy result = new DateHiberarchy(Culture); foreach (int i in dateColumnIndex) { var columnData = new List <string>(table.Columns[i].ColumnData); var columnType = IsYearOrMonthOrDay(table.Columns[i].ColumnName.ToUpper(), columnData); switch (columnType) { case DateType.year: result.Hiberarchy[YEAR] = columnData; break; case DateType.month: result.Hiberarchy[MONTH] = columnData; break; case DateType.day: result.Hiberarchy[DAY] = columnData; break; default: Console.WriteLine(JsonConvert.SerializeObject(table.Columns[i], Formatting.Indented)); break; } } return(result); }
public DateHiberarchy DateSplit(List <string> data) { var result = new DateHiberarchy(Culture); foreach (var cellValue in data) { var isDate = GetDateTypeAndTimex(cellValue, out string dateType, out string timex); if (!isDate) { Console.Write(cellValue); Console.ReadKey(); continue; } var splitedDate = timex.Split(sep); switch (splitedDate.Length) { case 1: result.Hiberarchy[YEAR].Add(splitedDate[0]); result.Hiberarchy[MONTH].Add(String.Empty); result.Hiberarchy[DAY].Add(String.Empty); break; case 2: result.Hiberarchy[YEAR].Add(splitedDate[0] != anonymousYear ? splitedDate[0] : String.Empty); result.Hiberarchy[MONTH].Add(splitedDate[1]); result.Hiberarchy[DAY].Add(String.Empty); break; case 3: result.Hiberarchy[YEAR].Add(splitedDate[0]); result.Hiberarchy[MONTH].Add(splitedDate[1]); result.Hiberarchy[DAY].Add(splitedDate[2]); break; default: Console.Write(timex); Console.ReadKey(); break; } } return(result); }