public List <PatientModel> ReadPatientData(DataReaderType type, String fileName) { List <PatientModel> patientList = new List <PatientModel>(); IPatientDataReader dataReader = null; switch (type) { case DataReaderType.CsvReader: dataReader = new CsvPatientReader(); break; case DataReaderType.TxtReader: dataReader = new TxtPatientReader(); break; default: break; } if (dataReader != null) { dataReader.SetFileName(fileName); if (dataReader.ValidateFile()) { patientList = dataReader.GetAllRecords(); } } return(patientList); }
public override IPrepareDataReader Create(DataReaderType dataReaderType) { switch (dataReaderType) { case DataReaderType.DbReader: return(new PrepareDatabaseDataReader()); case DataReaderType.PingReader: return(new PreparePingLivingReader()); case DataReaderType.ExitReader: return(new PrepareExitReader()); default: throw new ArgumentException($"{dataReaderType} cannot be created"); } }
public IDataReader <T> GetDataReader <T>(string source, DataReaderType type) { IDataReader <T> reader; switch (type) { case DataReaderType.Excel: reader = new ExcelDataReader <T>(); break; case DataReaderType.Csv: case DataReaderType.Database: case DataReaderType.Text: default: throw new NotImplementedException($"data reader for {source} is not implemented"); } if (reader != null) { reader.Source = source; } return(reader); }
protected override void OnConnectionTypeCreated(Type connectionType) { DB2Types.ConnectionType = connectionType; DB2Types.DB2Int64.Type = connectionType.AssemblyEx().GetType("IBM.Data.DB2Types.DB2Int64", true); DB2Types.DB2Int32.Type = connectionType.AssemblyEx().GetType("IBM.Data.DB2Types.DB2Int32", true); DB2Types.DB2Int16.Type = connectionType.AssemblyEx().GetType("IBM.Data.DB2Types.DB2Int16", true); DB2Types.DB2Decimal.Type = connectionType.AssemblyEx().GetType("IBM.Data.DB2Types.DB2Decimal", true); DB2Types.DB2DecimalFloat.Type = connectionType.AssemblyEx().GetType("IBM.Data.DB2Types.DB2DecimalFloat", true); DB2Types.DB2Real.Type = connectionType.AssemblyEx().GetType("IBM.Data.DB2Types.DB2Real", true); DB2Types.DB2Real370.Type = connectionType.AssemblyEx().GetType("IBM.Data.DB2Types.DB2Real370", true); DB2Types.DB2Double.Type = connectionType.AssemblyEx().GetType("IBM.Data.DB2Types.DB2Double", true); DB2Types.DB2String.Type = connectionType.AssemblyEx().GetType("IBM.Data.DB2Types.DB2String", true); DB2Types.DB2Clob.Type = connectionType.AssemblyEx().GetType("IBM.Data.DB2Types.DB2Clob", true); DB2Types.DB2Binary.Type = connectionType.AssemblyEx().GetType("IBM.Data.DB2Types.DB2Binary", true); DB2Types.DB2Blob.Type = connectionType.AssemblyEx().GetType("IBM.Data.DB2Types.DB2Blob", true); DB2Types.DB2Date.Type = connectionType.AssemblyEx().GetType("IBM.Data.DB2Types.DB2Date", true); DB2Types.DB2Time.Type = connectionType.AssemblyEx().GetType("IBM.Data.DB2Types.DB2Time", true); DB2Types.DB2TimeStamp.Type = connectionType.AssemblyEx().GetType("IBM.Data.DB2Types.DB2TimeStamp", true); DB2Types.DB2Xml = connectionType.AssemblyEx().GetType("IBM.Data.DB2Types.DB2Xml", true); DB2Types.DB2RowId.Type = connectionType.AssemblyEx().GetType("IBM.Data.DB2Types.DB2RowId", true); DB2Types.DB2DateTime.Type = connectionType.AssemblyEx().GetType("IBM.Data.DB2Types.DB2DateTime", false); SetProviderField(DB2Types.DB2Int64, typeof(Int64), "GetDB2Int64"); SetProviderField(DB2Types.DB2Int32, typeof(Int32), "GetDB2Int32"); SetProviderField(DB2Types.DB2Int16, typeof(Int16), "GetDB2Int16"); SetProviderField(DB2Types.DB2Decimal, typeof(Decimal), "GetDB2Decimal"); SetProviderField(DB2Types.DB2DecimalFloat, typeof(Decimal), "GetDB2DecimalFloat"); SetProviderField(DB2Types.DB2Real, typeof(Single), "GetDB2Real"); SetProviderField(DB2Types.DB2Real370, typeof(Single), "GetDB2Real370"); SetProviderField(DB2Types.DB2Double, typeof(Double), "GetDB2Double"); SetProviderField(DB2Types.DB2String, typeof(String), "GetDB2String"); SetProviderField(DB2Types.DB2Clob, typeof(String), "GetDB2Clob"); SetProviderField(DB2Types.DB2Binary, typeof(byte[]), "GetDB2Binary"); SetProviderField(DB2Types.DB2Blob, typeof(byte[]), "GetDB2Blob"); SetProviderField(DB2Types.DB2Date, typeof(DateTime), "GetDB2Date"); SetProviderField(DB2Types.DB2Time, typeof(TimeSpan), "GetDB2Time"); SetProviderField(DB2Types.DB2TimeStamp, typeof(DateTime), "GetDB2TimeStamp"); SetProviderField(DB2Types.DB2Xml, typeof(string), "GetDB2Xml"); SetProviderField(DB2Types.DB2RowId, typeof(byte[]), "GetDB2RowId"); MappingSchema.AddScalarType(DB2Types.DB2Int64, GetNullValue(DB2Types.DB2Int64), true, DataType.Int64); MappingSchema.AddScalarType(DB2Types.DB2Int32, GetNullValue(DB2Types.DB2Int32), true, DataType.Int32); MappingSchema.AddScalarType(DB2Types.DB2Int16, GetNullValue(DB2Types.DB2Int16), true, DataType.Int16); MappingSchema.AddScalarType(DB2Types.DB2Decimal, GetNullValue(DB2Types.DB2Decimal), true, DataType.Decimal); MappingSchema.AddScalarType(DB2Types.DB2DecimalFloat, GetNullValue(DB2Types.DB2DecimalFloat), true, DataType.Decimal); MappingSchema.AddScalarType(DB2Types.DB2Real, GetNullValue(DB2Types.DB2Real), true, DataType.Single); MappingSchema.AddScalarType(DB2Types.DB2Real370, GetNullValue(DB2Types.DB2Real370), true, DataType.Single); MappingSchema.AddScalarType(DB2Types.DB2Double, GetNullValue(DB2Types.DB2Double), true, DataType.Double); MappingSchema.AddScalarType(DB2Types.DB2String, GetNullValue(DB2Types.DB2String), true, DataType.NVarChar); MappingSchema.AddScalarType(DB2Types.DB2Clob, GetNullValue(DB2Types.DB2Clob), true, DataType.NText); MappingSchema.AddScalarType(DB2Types.DB2Binary, GetNullValue(DB2Types.DB2Binary), true, DataType.VarBinary); MappingSchema.AddScalarType(DB2Types.DB2Blob, GetNullValue(DB2Types.DB2Blob), true, DataType.Blob); MappingSchema.AddScalarType(DB2Types.DB2Date, GetNullValue(DB2Types.DB2Date), true, DataType.Date); MappingSchema.AddScalarType(DB2Types.DB2Time, GetNullValue(DB2Types.DB2Time), true, DataType.Time); MappingSchema.AddScalarType(DB2Types.DB2TimeStamp, GetNullValue(DB2Types.DB2TimeStamp), true, DataType.DateTime2); MappingSchema.AddScalarType(DB2Types.DB2RowId, GetNullValue(DB2Types.DB2RowId), true, DataType.VarBinary); MappingSchema.AddScalarType(DB2Types.DB2Xml, DB2Tools.IsCore ? null : GetNullValue(DB2Types.DB2Xml), true, DataType.Xml); _setBlob = GetSetParameter(connectionType, "DB2Parameter", "DB2Type", "DB2Type", "Blob"); if (DB2Types.DB2DateTime.IsSupported) { SetProviderField(DB2Types.DB2DateTime, typeof(DateTime), "GetDB2DateTime"); MappingSchema.AddScalarType(DB2Types.DB2DateTime, GetNullValue(DB2Types.DB2DateTime), true, DataType.DateTime); } if (DataConnection.TraceSwitch.TraceInfo) { DataConnection.WriteTraceLine( DataReaderType.AssemblyEx().FullName, DataConnection.TraceSwitch.DisplayName); DataConnection.WriteTraceLine( DB2Types.DB2DateTime.IsSupported ? "DB2DateTime is supported." : "DB2DateTime is not supported.", DataConnection.TraceSwitch.DisplayName); } DB2Tools.Initialized(); }
public abstract IPrepareDataReader Create(DataReaderType dataReaderType);
protected override void OnConnectionTypeCreated(Type connectionType) { DB2iSeriesTypes.ConnectionType = connectionType; dynamic ass = connectionType.Assembly; DB2iSeriesTypes.BigInt.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2BigInt", true); DB2iSeriesTypes.Binary.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2Binary", true); DB2iSeriesTypes.Blob.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2Blob", true); DB2iSeriesTypes.Char.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2Char", true); DB2iSeriesTypes.CharBitData.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2CharBitData", true); DB2iSeriesTypes.Clob.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2Clob", true); DB2iSeriesTypes.Date.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2Date", true); DB2iSeriesTypes.DataLink.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2DataLink", true); DB2iSeriesTypes.DbClob.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2DbClob", true); DB2iSeriesTypes.DecFloat16.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2DecFloat16", true); DB2iSeriesTypes.DecFloat34.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2DecFloat34", true); DB2iSeriesTypes.Decimal.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2Decimal", true); DB2iSeriesTypes.Double.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2Double", true); DB2iSeriesTypes.Graphic.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2Graphic", true); DB2iSeriesTypes.Integer.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2Integer", true); DB2iSeriesTypes.Numeric.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2Numeric", true); DB2iSeriesTypes.Real.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2Real", true); DB2iSeriesTypes.RowId.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2Rowid", true); DB2iSeriesTypes.SmallInt.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2SmallInt", true); DB2iSeriesTypes.Time.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2Time", true); DB2iSeriesTypes.TimeStamp.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2TimeStamp", true); DB2iSeriesTypes.VarBinary.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2VarBinary", true); DB2iSeriesTypes.VarChar.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2VarChar", true); DB2iSeriesTypes.VarCharBitData.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2VarCharBitData", true); DB2iSeriesTypes.VarGraphic.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2VarGraphic", true); DB2iSeriesTypes.Xml.Type = ass.GetType(DB2iSeriesTools.AssemblyName + ".iDB2Xml", true); SetProviderField(DB2iSeriesTypes.BigInt, typeof(long), "GetiDB2BigInt"); SetProviderField(DB2iSeriesTypes.Binary, typeof(byte[]), "GetiDB2Binary"); SetProviderField(DB2iSeriesTypes.Blob, typeof(byte[]), "GetiDB2Blob"); SetProviderField(DB2iSeriesTypes.Char, typeof(string), "GetiDB2Char"); SetProviderField(DB2iSeriesTypes.CharBitData, typeof(byte[]), "GetiDB2CharBitData"); SetProviderField(DB2iSeriesTypes.Clob, typeof(string), "GetiDB2Clob"); SetProviderField(DB2iSeriesTypes.DataLink, typeof(string), "GetiDB2DataLink"); SetProviderField(DB2iSeriesTypes.Date, typeof(System.DateTime), "GetiDB2Date"); SetProviderField(DB2iSeriesTypes.DbClob, typeof(string), "GetiDB2DbClob"); SetProviderField(DB2iSeriesTypes.DecFloat16, typeof(decimal), "GetiDB2DecFloat16"); SetProviderField(DB2iSeriesTypes.DecFloat34, typeof(decimal), "GetiDB2DecFloat34"); SetProviderField(DB2iSeriesTypes.Decimal, typeof(decimal), "GetiDB2Decimal"); SetProviderField(DB2iSeriesTypes.Double, typeof(double), "GetiDB2Double"); SetProviderField(DB2iSeriesTypes.Graphic, typeof(string), "GetiDB2Graphic"); SetProviderField(DB2iSeriesTypes.Integer, typeof(int), "GetiDB2Integer"); SetProviderField(DB2iSeriesTypes.Numeric, typeof(decimal), "GetiDB2Numeric"); SetProviderField(DB2iSeriesTypes.Real, typeof(float), "GetiDB2Real"); SetProviderField(DB2iSeriesTypes.RowId, typeof(byte[]), "GetiDB2RowId"); SetProviderField(DB2iSeriesTypes.SmallInt, typeof(short), "GetiDB2SmallInt"); SetProviderField(DB2iSeriesTypes.Time, typeof(System.DateTime), "GetiDB2Time"); SetProviderField(DB2iSeriesTypes.TimeStamp, typeof(System.DateTime), "GetiDB2TimeStamp"); SetProviderField(DB2iSeriesTypes.VarBinary, typeof(byte[]), "GetiDB2VarBinary"); SetProviderField(DB2iSeriesTypes.VarChar, typeof(string), "GetiDB2VarChar"); SetProviderField(DB2iSeriesTypes.VarCharBitData, typeof(byte[]), "GetiDB2VarCharBitData"); SetProviderField(DB2iSeriesTypes.VarGraphic, typeof(string), "GetiDB2VarGraphic"); SetProviderField(DB2iSeriesTypes.Xml, typeof(string), "GetiDB2Xml"); MappingSchema.AddScalarType(DB2iSeriesTypes.BigInt, GetNullValue(DB2iSeriesTypes.BigInt), true, DataType.Int64); MappingSchema.AddScalarType(DB2iSeriesTypes.Binary, GetNullValue(DB2iSeriesTypes.Binary), true, DataType.Binary); MappingSchema.AddScalarType(DB2iSeriesTypes.Blob, GetNullValue(DB2iSeriesTypes.Blob), true, DataType.Blob); MappingSchema.AddScalarType(DB2iSeriesTypes.Char, GetNullValue(DB2iSeriesTypes.Char), true, DataType.Char); MappingSchema.AddScalarType(DB2iSeriesTypes.CharBitData, GetNullValue(DB2iSeriesTypes.CharBitData), true, DataType.Binary); MappingSchema.AddScalarType(DB2iSeriesTypes.Clob, GetNullValue(DB2iSeriesTypes.Clob), true, DataType.NText); MappingSchema.AddScalarType(DB2iSeriesTypes.DataLink, GetNullValue(DB2iSeriesTypes.DataLink), true, DataType.NText); MappingSchema.AddScalarType(DB2iSeriesTypes.Date, GetNullValue(DB2iSeriesTypes.Date), true, DataType.Date); MappingSchema.AddScalarType(DB2iSeriesTypes.DbClob, GetNullValue(DB2iSeriesTypes.DbClob), true, DataType.NText); MappingSchema.AddScalarType(DB2iSeriesTypes.DecFloat16, GetNullValue(DB2iSeriesTypes.DecFloat16), true, DataType.Decimal); MappingSchema.AddScalarType(DB2iSeriesTypes.DecFloat34, GetNullValue(DB2iSeriesTypes.DecFloat34), true, DataType.Decimal); MappingSchema.AddScalarType(DB2iSeriesTypes.Decimal, GetNullValue(DB2iSeriesTypes.Decimal), true, DataType.Decimal); MappingSchema.AddScalarType(DB2iSeriesTypes.Double, GetNullValue(DB2iSeriesTypes.Double), true, DataType.Double); MappingSchema.AddScalarType(DB2iSeriesTypes.Graphic, GetNullValue(DB2iSeriesTypes.Graphic), true, DataType.NText); MappingSchema.AddScalarType(DB2iSeriesTypes.Integer, GetNullValue(DB2iSeriesTypes.Integer), true, DataType.Int32); MappingSchema.AddScalarType(DB2iSeriesTypes.Numeric, GetNullValue(DB2iSeriesTypes.Numeric), true, DataType.Decimal); MappingSchema.AddScalarType(DB2iSeriesTypes.Real, GetNullValue(DB2iSeriesTypes.Real), true, DataType.Single); MappingSchema.AddScalarType(DB2iSeriesTypes.RowId, GetNullValue(DB2iSeriesTypes.RowId), true, DataType.VarBinary); MappingSchema.AddScalarType(DB2iSeriesTypes.SmallInt, GetNullValue(DB2iSeriesTypes.SmallInt), true, DataType.Int16); MappingSchema.AddScalarType(DB2iSeriesTypes.Time, GetNullValue(DB2iSeriesTypes.Time), true, DataType.Time); MappingSchema.AddScalarType(DB2iSeriesTypes.TimeStamp, GetNullValue(DB2iSeriesTypes.TimeStamp), true, DataType.DateTime2); MappingSchema.AddScalarType(DB2iSeriesTypes.VarBinary, GetNullValue(DB2iSeriesTypes.VarBinary), true, DataType.VarBinary); MappingSchema.AddScalarType(DB2iSeriesTypes.VarChar, GetNullValue(DB2iSeriesTypes.VarChar), true, DataType.VarChar); MappingSchema.AddScalarType(DB2iSeriesTypes.VarCharBitData, GetNullValue(DB2iSeriesTypes.VarCharBitData), true, DataType.VarBinary); MappingSchema.AddScalarType(DB2iSeriesTypes.VarGraphic, GetNullValue(DB2iSeriesTypes.VarGraphic), true, DataType.NText); MappingSchema.AddScalarType(DB2iSeriesTypes.Xml, GetNullValue(DB2iSeriesTypes.Xml), true, DataType.Xml); _setBlob = GetSetParameter(connectionType, "iDB2Parameter", "iDB2DbType", "iDB2DbType", "iDB2Blob"); if (DataConnection.TraceSwitch.TraceInfo) { DataConnection.WriteTraceLine(DataReaderType.AssemblyEx().FullName, DataConnection.TraceSwitch.DisplayName); } DB2iSeriesTools.Initialized(); }