コード例 #1
0
 public static Dictionary <TK, T> ListToDictionary <TK, T>(
     ICollection sourceList,
     NameOrIndexParameter keyField,
     params object[]      parameters)
 {
     return(_defaultSchema.MapListToDictionary <TK, T>(sourceList, keyField, parameters));
 }
コード例 #2
0
 public static Dictionary <TK, T> DataTableToDictionary <TK, T>(
     DataTable sourceTable,
     NameOrIndexParameter keyField,
     params object[]      parameters)
 {
     return(_defaultSchema.MapDataTableToDictionary <TK, T>(sourceTable, keyField, parameters));
 }
コード例 #3
0
 public static Dictionary <TK, T> DataReaderToDictionary <TK, T>(
     IDataReader dataReader,
     NameOrIndexParameter keyField,
     params object[]      parameters)
 {
     return(_defaultSchema.MapDataReaderToDictionary <TK, T>(dataReader, keyField, parameters));
 }
コード例 #4
0
 public virtual IDbDataParameter GetParameter(
     IDbCommand command,
     NameOrIndexParameter nameOrIndex)
 {
     return((IDbDataParameter)(nameOrIndex.ByName?
                               command.Parameters[nameOrIndex.Name]: command.Parameters[nameOrIndex.Index]));
 }
コード例 #5
0
 public static Dictionary <TK, T> DictionaryToDictionary <TK, T>(
     IDictionary sourceDictionary,
     NameOrIndexParameter keyField,
     params object[]      parameters)
 {
     return(_defaultSchema.MapDictionaryToDictionary <TK, T>(sourceDictionary, keyField, parameters));
 }
コード例 #6
0
ファイル: TypeAccessor.cs プロジェクト: tuanagps/Project1
 public MemberAccessor this[NameOrIndexParameter nameOrIndex]
 {
     get
     {
         return(nameOrIndex.ByName ? _memberNames[nameOrIndex.Name] : _members[nameOrIndex.Index]);
     }
 }
コード例 #7
0
 public static IDictionary ListToDictionary(
     ICollection sourceList,
     NameOrIndexParameter keyField,
     Type destObjectType,
     params object[]      parameters)
 {
     return(_defaultSchema.MapListToDictionary(sourceList, keyField, destObjectType, parameters));
 }
コード例 #8
0
 public static Hashtable DataTableToDictionary(
     DataTable sourceTable,
     NameOrIndexParameter keyField,
     Type destObjectType,
     params object[]      parameters)
 {
     return(_defaultSchema.MapDataTableToDictionary(sourceTable, keyField, destObjectType, parameters));
 }
コード例 #9
0
 public static IDictionary DataReaderToDictionary(
     IDataReader dataReader,
     NameOrIndexParameter keyField,
     Type destObjectType,
     params object[]      parameters)
 {
     return(_defaultSchema.MapDataReaderToDictionary(dataReader, keyField, destObjectType, parameters));
 }
コード例 #10
0
        public void IntTest()
        {
            int expectedValue        = 12345;
            NameOrIndexParameter nip = 12345;

            Assert.IsFalse(nip.ByName);
            Assert.AreEqual(nip.Index, expectedValue);
        }
コード例 #11
0
        public void StringTest()
        {
            string expectedValue     = "54321";
            NameOrIndexParameter nip = "54321";

            Assert.IsTrue(nip.ByName);
            Assert.AreEqual(nip.Name, expectedValue);
        }
コード例 #12
0
        public void DefaultValueTest()
        {
            int expectedValue        = 0;
            NameOrIndexParameter nip = new NameOrIndexParameter();

            Assert.IsFalse(nip.ByName);
            Assert.AreEqual(nip.Index, expectedValue);
        }
コード例 #13
0
 public ScalarDataReaderMapper(
     MappingSchema mappingSchema,
     IDataReader dataReader,
     NameOrIndexParameter nameOrIndex)
     : base(mappingSchema, dataReader)
 {
     _index = nameOrIndex.ByName? dataReader.GetOrdinal(nameOrIndex.Name): nameOrIndex.Index;
 }
コード例 #14
0
ファイル: MySqlDataProvider.cs プロジェクト: luochangli/Login
 public override IDbDataParameter GetParameter(IDbCommand command, NameOrIndexParameter nameOrIndex)
 {
     if (nameOrIndex.ByName)
     {
         string str = (command.CommandType == CommandType.StoredProcedure) ? this.Convert(nameOrIndex.Name, ConvertType.NameToSprocParameter).ToString() : nameOrIndex.Name;
         return((IDbDataParameter)command.Parameters[str]);
     }
     return((IDbDataParameter)command.Parameters[nameOrIndex.Index]);
 }
コード例 #15
0
 public static IDictionary DictionaryToDictionary(
     IDictionary sourceDictionary,
     NameOrIndexParameter keyField,
     Type destObjectType,
     params object[]      parameters)
 {
     return(_defaultSchema.MapDictionaryToDictionary(
                sourceDictionary, keyField, destObjectType, parameters));
 }
コード例 #16
0
        public void IllegalAccessTest()
        {
            // Init by index
            NameOrIndexParameter nip = 12345;

            Assert.IsFalse(nip.ByName);

            // Exception here
            string value = nip.Name;
        }
コード例 #17
0
 public DictionaryListMapper(
     IDictionary dic,
     NameOrIndexParameter keyField,
     ObjectMapper objectMapper)
 {
     _dic        = dic;
     _mapper     = objectMapper;
     _fromSource = keyField.ByName && keyField.Name[0] == '@';
     _keyField   = _fromSource? keyField.Name.Substring(1): keyField;
 }
コード例 #18
0
        public void IllegalAccessTest2()
        {
            // Init by name
            NameOrIndexParameter nip = "54321";

            Assert.IsTrue(nip.ByName);

            // Exception here
            int value = nip.Index;
        }
コード例 #19
0
 public static object SomeFunc(NameOrIndexParameter nip)
 {
     if (nip.ByName)
     {
         return(nip.Name);
     }
     else
     {
         return(nip.Index);
     }
 }
コード例 #20
0
        public IndexAttribute(params string[] names)
        {
            if (null == names)
            {
                throw new ArgumentNullException("names");
            }

            if (names.Length == 0)
            {
                throw new ArgumentException(Resources.MapIndex_EmptyNames, "names");
            }

            _fields = NameOrIndexParameter.FromStringArray(names);
        }
コード例 #21
0
ファイル: MapIndex.cs プロジェクト: epdumitru/mysqlib
        public MapIndex(string[] names)
        {
            if (null == names)
            {
                throw new ArgumentNullException("names");
            }

            if (names.Length == 0)
            {
                throw new ArgumentException("At least one field name must be specified", "names");
            }

            _fields = NameOrIndexParameter.FromStringArray(names);
        }
コード例 #22
0
        public IndexAttribute(params int[] indices)
        {
            if (null == indices)
            {
                throw new ArgumentNullException("indices");
            }

            if (indices.Length == 0)
            {
                throw new ArgumentException(Resources.MapIndex_EmptyIndices, "indices");
            }

            _fields = NameOrIndexParameter.FromIndexArray(indices);
        }
コード例 #23
0
ファイル: MapIndex.cs プロジェクト: epdumitru/mysqlib
        public MapIndex(int[] indices)
        {
            if (null == indices)
            {
                throw new ArgumentNullException("indices");
            }

            if (indices.Length == 0)
            {
                throw new ArgumentException("At least one field ndex must be specified", "indices");
            }

            _fields = NameOrIndexParameter.FromIndexArray(indices);
        }
コード例 #24
0
ファイル: DataAccessor.cs プロジェクト: EIDSS/EIDSS6.1.0.45
        protected void ExecuteScalarDictionary(
            DbManager db,
            IDictionary dictionary,
            Type objectType,
            Type keyType,
            string methodName,
            NameOrIndexParameter scalarField,
            Type elementType)
        {
            bool isIndex = TypeHelper.IsSameOrParent(typeof(CompoundValue), keyType);

            MemberMapper[] mms = new SqlQuery(Extensions).GetKeyFieldList(db, objectType);

            if (mms.Length == 0)
            {
                throw new DataAccessException(string.Format(
                                                  Resources.DataAccessor_UnknownIndex,
                                                  GetType().Name, methodName));
            }

            if (mms.Length > 1 && keyType != typeof(object) && !isIndex)
            {
                throw new DataAccessException(string.Format(
                                                  Resources.DataAccessor_InvalidKeyType,
                                                  GetType().Name, methodName));
            }

            if (isIndex || mms.Length > 1)
            {
                string[] fields = new string[mms.Length];

                for (int i = 0; i < mms.Length; i++)
                {
                    fields[i] = mms[i].Name;
                }

                db.ExecuteScalarDictionary(dictionary, new MapIndex(fields), scalarField, elementType);
            }
            else
            {
                db.ExecuteScalarDictionary(
                    dictionary,
                    mms[0].Name,
                    keyType,
                    scalarField,
                    elementType);
            }
        }
コード例 #25
0
        public override IDbDataParameter GetParameter(
            IDbCommand command,
            NameOrIndexParameter nameOrIndex)
        {
            if (nameOrIndex.ByName)
            {
                // if we have a stored procedure, then maybe command paramaters were formatted
                // (SprocParameterPrefix added). In this case we need to format given parameter name first
                // and only then try to take parameter by formatted parameter name
                string parameterName = command.CommandType == CommandType.StoredProcedure
                                        ? Convert(nameOrIndex.Name, ConvertType.NameToSprocParameter).ToString()
                                        : nameOrIndex.Name;

                return((IDbDataParameter)(command.Parameters[parameterName]));
            }
            return((IDbDataParameter)(command.Parameters[nameOrIndex.Index]));
        }
コード例 #26
0
        public DictionaryIndexListMapper(
            IDictionary dic,
            MapIndex index,
            ObjectMapper objectMapper)
        {
            _dic    = dic;
            _mapper = objectMapper;

            _fields     = new NameOrIndexParameter[index.Fields.Length];
            _fromSource = new bool[index.Fields.Length];

            for (int i = 0; i < _fields.Length; i++)
            {
                bool fromSource = index.Fields[i].ByName && index.Fields[i].Name[0] == '@';

                _fields[i]     = fromSource? index.Fields[i].Name.Substring(1): index.Fields[i];
                _fromSource[i] = fromSource;
                _isFromSource  = _isFromSource || fromSource;
                _isFromDest    = _isFromDest || !fromSource;
            }
        }
コード例 #27
0
            public ExOracleScalarDataReaderMapper(
                MappingSchema mappingSchema,
                IDataReader dataReader,
                NameOrIndexParameter nameOrIndex)
                : base(mappingSchema, dataReader, nameOrIndex)
            {
                _dataReader = dataReader is OracleDataReaderEx ?
                              ((OracleDataReaderEx)dataReader).DataReader :
                              (OracleDataReader)dataReader;

                _fieldType = _dataReader.GetProviderSpecificFieldType(Index);

                if (_fieldType != typeof(OracleBlob)
#if !MANAGED
                    && _fieldType != typeof(OracleXmlType)
#endif
                    )
                {
                    _fieldType = _dataReader.GetFieldType(Index);
                }
            }
コード例 #28
0
 public void IllegalStringTest2()
 {
     NameOrIndexParameter nip = string.Empty;
 }
コード例 #29
0
		public override IDbDataParameter GetParameter(
			IDbCommand command,
			NameOrIndexParameter nameOrIndex)
		{
			if (nameOrIndex.ByName)
			{
				// if we have a stored procedure, then maybe command paramaters were formatted
				// (SprocParameterPrefix added). In this case we need to format given parameter name first
				// and only then try to take parameter by formatted parameter name
				string parameterName = command.CommandType == CommandType.StoredProcedure
					? Convert(nameOrIndex.Name, ConvertType.NameToSprocParameter).ToString()
					: nameOrIndex.Name;

				return (IDbDataParameter)(command.Parameters[parameterName]);
			}
			return (IDbDataParameter)(command.Parameters[nameOrIndex.Index]);
		}
コード例 #30
0
 public void IllegalIntTest()
 {
     NameOrIndexParameter nip = -12345;
 }
コード例 #31
0
ファイル: Issue-git-0221.cs プロジェクト: vestild/nemerle
 static void Test(NameOrIndexParameter _x)
 {
 }
コード例 #32
0
 static void Test(NameOrIndexParameter _x)
 {
 }