public bool CreateDate(IDateOrder dateorder) { try { //get date column name from settings string dateColName = Settings.Default.TimeStampName; //create object to build date list IProcessDateTime process = new ProcessDate(_data); List <DateTime> newdateCol = process.BuildDateTimeList(dateorder); //add if (Utils.AddColtoDataTable <DateTime>(dateColName, newdateCol, _data)) { DataColumn dc = _data.Columns[dateColName]; _dateIndex = dc.Ordinal; _columns.Add(new SessionColumn(dc.Ordinal, dc.ColumnName)); this[dateColName].ColumnType = SessionColumnType.DateTime; _dateStatus = DataSetDateStatus.Found; return(true); } else { return(false); } } catch (Exception e) { throw e; } }
//constructor public SessionColumnCollection(DataTable data) { _data = data; _dateStatus = DataSetDateStatus.NotSet; _columns = ProcessRawColumns(); ProcessDate(); }
private void ProcessDate() { IProcessDateTime process = new ProcessDate(_data); _dateStatus = process.FindDateTimeColumn(out _dateIndex); //overwrite date col name _data.Columns[_dateIndex].ColumnName = Settings.Default.TimeStampName; _columns[_dateIndex].ColName = Settings.Default.TimeStampName; IDateTimeSequence sequence = new DateTimeSequence(_data, _dateIndex); if (_dateStatus == DataSetDateStatus.Found) { List <DateTime> datesequence = sequence.GetExistingSequence(); DataSetStart = datesequence.Min(); DataSetEnd = datesequence.Max(); //MessageBox.Show(DataSetStart + " " + DataSetEnd ); try { DataPrep prep = new DataPrep(_data, _dateIndex); prep.FillMissingdates(sequence.GetMissingTimeStamps()); } catch (OutOfMemoryException) { MessageBox.Show("ran out of memory processing dates. the file is too large."); } } }
//constructor public SessionColumnCollection(DataTable data) { Console.WriteLine("Columns Passed to Session column Collection" + data.Rows); _data = data; _dateStatus = DataSetDateStatus.NotSet; _dataRecovery = new DataRecoveryFactory().CreateDataRecoveryObject(this._data); if (data.Columns.Count > 0 && data.Rows.Count > 0) { _columns = ProcessRawColumns(); ProcessDate(); } }
public DataSetDateStatus FindDateTimeColumn(out int dateindex) { //search columns //find all datetypes and set datasetstatus try { DataSetDateStatus _dateStatus = DataSetDateStatus.NotSet; int DateCount = 0; int thisIndex = 0; dateindex = 0; foreach (DataColumn dc in _data.Columns) { if (dc.DataType == typeof(DateTime)) { thisIndex = dc.Ordinal; DateCount++; } } switch (DateCount) { case 0: _dateStatus = DataSetDateStatus.FoundNone; break; case 1: dateindex = thisIndex; _dateStatus = DataSetDateStatus.Found; break; case 2: _dateStatus = DataSetDateStatus.FoundMultiple; break; default: _dateStatus = DataSetDateStatus.NotSet; break; } return(_dateStatus); } catch (Exception e) { throw e; } }
private void ProcessDate() { IProcessDateTime process = new ProcessDate(_data); _dateStatus = process.FindDateTimeColumn(out _dateIndex); //overwrite date col name _data.Columns[_dateIndex].ColumnName = Settings.Default.TimeStampName; _columns[_dateIndex].ColName = Settings.Default.TimeStampName; IDateTimeSequence sequence = new DateTimeSequence(_data, _dateIndex); if (_dateStatus == DataSetDateStatus.Found) { List <DateTime> datesequence = sequence.GetExistingSequence(); DataSetStart = datesequence.Min(); DataSetEnd = datesequence.Max(); } }