//properties //methods /// <summary> /// Creates a DataTable containing a set of random DateTime values. /// </summary> /// <param name="numRows">Num of rows with DateTime values to generate.</param> /// <param name="dataRequest">RandomDateTimeDataRequest object contains the definition for how to generate the random DateTime values.</param> /// <returns>ADO.NET DataTable containing the set of random values.</returns> public DataTable CreateRandomDataTable(int numRows, RandomDateTimeDataRequest dataRequest) { DataTable dt = null; enRandomOffsetType randOffsetType = enRandomOffsetType.enUnknown; enRandomIncrementType randDateIncrementType = enRandomIncrementType.enUnknown; enDateConversionType dateConversionType = enDateConversionType.DoNotConvert; if (dataRequest.ConvertGeneratedValueToInteger) { if (dataRequest.ConvertDateTo32BitInteger) { dateConversionType = enDateConversionType.ConvertDateTo32bitInt; } else if (dataRequest.ConvertTimeTo32BitInteger) { dateConversionType = enDateConversionType.ConvertTimeTo32bitInt; } else if (dataRequest.ConvertDateTimeTo64BitInteger) { dateConversionType = enDateConversionType.ConvertDateTimeTo64bitInt; } else { dateConversionType = enDateConversionType.DoNotConvert; } } if (dataRequest.RangeOfDates) { dt = CreateRangeDataTable(numRows, dataRequest.EarliestDate, dataRequest.LatestDate, dataRequest.SpecifyTimeForEachDay, dataRequest.EarliestTime, dataRequest.LatestTime, dateConversionType); } else if (dataRequest.OffsetFromCurrentDate) { randOffsetType = GetRandomOffsetType(dataRequest); dt = CreateOffsetFromCurrentDateDataTable(randOffsetType, numRows, dataRequest.MinimumOffset, dataRequest.MaximumOffset, dataRequest.SpecifyTimeForEachDay, dataRequest.EarliestTime, dataRequest.LatestTime, dateConversionType); } else if (dataRequest.OffsetFromDataTableDate) { randOffsetType = GetRandomOffsetType(dataRequest); dt = CreateOffsetFromDataTableDate(randOffsetType, numRows, dataRequest.MinimumOffset, dataRequest.MaximumOffset, dataRequest.SpecifyTimeForEachDay, dataRequest.EarliestTime, dataRequest.LatestTime, dateConversionType); } else if (dataRequest.OutputSequentialDates) { randDateIncrementType = GetRandomDateIncrementType(dataRequest); dt = CreateDateSequenceDataTable(randDateIncrementType, numRows, dataRequest.IncrementSize, dataRequest.StartSequentialDate, dataRequest.EndSequentialDate, dataRequest.SpecifyTimeForEachDay, dataRequest.EarliestTime, dataRequest.LatestTime, dataRequest.MinNumDatesPerIncrement, dataRequest.MaxNumDatesPerIncrement, dataRequest.InitStartSequentialDate, dateConversionType); } else { dt = new DataTable(); } return(dt); }
private enRandomIncrementType GetRandomDateIncrementType(RandomDateTimeDataRequest dataRequest) { enRandomIncrementType incrementType = enRandomIncrementType.enUnknown; if (dataRequest.YearsIncrement) { incrementType = enRandomIncrementType.enYears; } else if (dataRequest.MonthsIncrement) { incrementType = enRandomIncrementType.enMonths; } else { incrementType = enRandomIncrementType.enDays; } return(incrementType); }
private enRandomOffsetType GetRandomOffsetType(RandomDateTimeDataRequest dataRequest) { enRandomOffsetType offsetType = enRandomOffsetType.enUnknown; if (dataRequest.YearsOffset) { offsetType = enRandomOffsetType.enYears; } else if (dataRequest.MonthsOffset) { offsetType = enRandomOffsetType.enMonths; } else { //DaysOffset offsetType = enRandomOffsetType.enDays; } return(offsetType); }