예제 #1
0
        public IList <CoreBase> GetList()
        {
            System.Data.IDataReader idr = null;
            CoreBase         clone;
            ParameterManager Params;

            try
            {
                Params = new ParameterManager(this._DMLCore);
                IDatabaseHelper helper = new DatabaseFactory().CreateDBHelper(base.DBType, StoredProcedureName);
                //idr = helper.ExecuteReader(Params.Parameters);
                using (idr = helper.ExecuteReader(Params.Parameters))
                {
                    while (idr.Read())
                    {
                        Type coreType = _DMLCore.GetType();

                        //this line is written as alternative of the avobe lines[that are comented]
                        clone = GetParamFromReader(coreType, idr);

                        if (_DMLCoreList == null)
                        {
                            _DMLCoreList = new List <CoreBase>();
                        }
                        _DMLCoreList.Add(clone);
                        clone = null;
                        //coreType.GetProperty("").SetValue(_DMLCore, "", null);
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (idr != null)
                {
                    idr.Close();
                    idr.Dispose();
                }
            }

            return(_DMLCoreList);
        }
예제 #2
0
        public CoreBase GetObjectByID()
        {
            System.Data.IDataReader idr = null;
            ParameterManager        Params;

            try
            {
                Params = new ParameterManager(this._DMLCore);
                IDatabaseHelper helper = new DatabaseFactory().CreateDBHelper(base.DBType, StoredProcedureName);
                //idr = helper.ExecuteReader(Params.Parameters);
                using (idr = helper.ExecuteReader(Params.Parameters))
                {
                    if (idr.Read())
                    {
                        Type           coreType   = _DMLCore.GetType();
                        PropertyInfo[] properties = coreType.GetProperties();
                        foreach (PropertyInfo info in properties)
                        {
                            //info.Name  exists in dataReader
                            if (DataRecordExtensions.HasColumn(idr, info.Name) && !DataRecordExtensions.IsNull(idr, info.Name))
                            {
                                coreType.GetProperty(info.Name).SetValue(_DMLCore, idr[info.Name], null);
                            }
                        }
                        //coreType.GetProperty("").SetValue(_DMLCore, "", null);
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                //if (idr != null)
                //{
                //    idr.Close();
                //    idr.Dispose();
                //}
            }

            return(_DMLCore);
        }
예제 #3
0
        private void executeDAB()
        {
            ParameterManager Params;

            try
            {
                if (this._DMLCore.HasEntity())
                {
                    Params = new ParameterManager(this._DMLCore);
                }
                else
                {
                    Params = new ParameterManager(this._DMLCore.ParamSetList_P);
                }
                IDatabaseHelper helper = new DatabaseFactory().CreateDBHelper(base.DBType, StoredProcedureName);
                helper.Run(Params.Parameters);
            }
            catch (Exception)
            {
                throw;
            }
        }