Exemple #1
0
 private void addParametersToCommand(IBaseCommand command, List<FieldData> listFieldData)
 {
     foreach (FieldData fieldData in listFieldData)
     {
         if (fieldData.ObjectType == typeof(Byte[]))
             command.Add("@" + fieldData.FieldName, fieldData.ObjectValue, DbType.Binary);
         else
             command.Add("@" + fieldData.FieldName, fieldData.ObjectValue);
     }
 }
Exemple #2
0
 /// <summary>
 /// Заполняет параметры команды в соответствии со значениями свойств, помеченных DBReadAttribute.
 /// </summary>
 /// <param name="command">Команда</param>
 /// <param name="obj">Объект</param>
 /// <param name="withPrimaryKey">Добавлять ли параметр, соотв. первичному ключу.</param>
 ///
 /// TODO: Переписать с использованием GetDBColumnsValues
 private static void FillCommandParameters(IBaseCommand command, object obj, bool withPrimaryKey)
 {
     // получаем тип объекта
     Type objType = obj.GetType();
     // перебираем его свойства (публичные нестатические)
     foreach (PropertyInfo prop in objType.GetProperties(BindingFlags.Public | BindingFlags.Instance))
     {
         DBReadAttribute dbReadAttribute = DBAttributesManager.GetDBReadAttribute(prop);
         if (dbReadAttribute != null
                 && (!dbReadAttribute.PrimaryKey || dbReadAttribute.PrimaryKey && withPrimaryKey))
         {
             if (prop.PropertyType == typeof(MLString))
             {
                 MLString value = (MLString)ObjectPropertiesMapper.GetPropertyValue(prop, obj);
                 command.Add("@" + dbReadAttribute.FieldName + RussianEnding, value[CultureManager.Languages.Russian]);
                 command.Add("@" + dbReadAttribute.FieldName + EnglishEnding, value[CultureManager.Languages.English]);
             }
             else
                 if (prop.PropertyType == typeof(TNKBPIdentifier))
                 {
                     TNKBPIdentifier value = (TNKBPIdentifier)ObjectPropertiesMapper.GetPropertyValue(prop, obj);
                     command.Add("@" + dbReadAttribute.FieldName, value.ToString());
                 }
                 else
                 {
                     command.Add("@" + dbReadAttribute.FieldName, ObjectPropertiesMapper.GetPropertyValue(prop, obj));
                 }
         }
     }
 }