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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 4
0
        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();
        }
Esempio n. 5
0
 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();
        }