Flexberry ORM 4.0.0
Класс ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef

Определение языка ограничений для конструирования ограничивающих функций Подробнее...

Граф наследования:ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef:
ICSSoft.STORMNET.FunctionalLanguage.FunctionalLanguageDef ICSSoft.STORMNET.DataObject ICSSoft.STORMNET.Windows.Forms.ExternalLangDef

Открытые члены

 SQLWhereLanguageDef ()
 Конструктор по-умолчанию (CaseInsensitive берётся из конфига с флагом CaseInsensitive). Подробнее...
 
 SQLWhereLanguageDef (bool caseInsensitive)
 Конструктор с параметром. Подробнее...
 
override ObjectType GetObjectTypeForNetType (Type type)
 Получатель ObjectType по .NET-типу (для DataObject возвращается тип первичного ключа) Подробнее...
 
virtual string SQLTranslSwitch (object value, delegateConvertValueToQueryValueString convertValue, delegatePutIdentifierToBrackets convertIdentifier)
 Перенаправитель для обработки параметров: value is Function или value is VariableDef или это просто значение Подробнее...
 
virtual string[] GetExistingVariableNames (Function f)
 return null; Подробнее...
 
- Открытые члены унаследованные от ICSSoft.STORMNET.FunctionalLanguage.FunctionalLanguageDef
virtual FunctionDef GetFunctionDef (int id)
 Получить определение функции Подробнее...
 
virtual FunctionDef GetFunctionDefByStringedView (string stringedView)
 Получить определение функции по его строковому представлению Подробнее...
 
virtual ObjectType GetObjectType (string typeName)
 Получить наше описание типа по имени Подробнее...
 
object FunctionToSimpleStruct (Function f)
 Разбор функции "по-косточкам" в специальный массив Подробнее...
 
Function FunctionFromSimpleStruct (object val)
 Восстановление функции из простой структуры Подробнее...
 
 FunctionalLanguageDef ()
 Конструктор (вызывается InitializeDefs()) Подробнее...
 
void InitFunctionsByStringedViewList ()
 Инициализировать массив функции с ключом в виде строкового определения Подробнее...
 
virtual Function GetFunction (string functionString, params object[] parameters)
 Создание ограничивающей функции Подробнее...
 
- Открытые члены унаследованные от ICSSoft.STORMNET.DataObject
void SetExistObjectPrimaryKey (object primaryKey)
 Установить первичный ключ в объект данных. Выполняется операция Clear() для объекта, присваивается первичный ключ, SetLoadingState(LoadingState.LightLoaded); SetLoadedProperties("__PrimaryKey"); Подробнее...
 
virtual string GetPresentationValue ()
 Функция для получения презентационного значения для объекта. Используется, как минимум, в ярлыках на рабочем столе. Подробнее...
 
void LockObject (object key)
 Заблокировать объект Подробнее...
 
void UnLockObject (object key)
 Разблокировать объект Подробнее...
 
DetailArray GetDetailArray ()
 
 DataObject ()
 Базовый конструктор по-умолчанию Подробнее...
 
string[] GetInitializedProperties ()
 Получить проинициализированные свойства, собственные и мастеровые (загруженные+означенные) Подробнее...
 
string[] GetInitializedProperties (bool withMasters)
 Получить проинициализированные свойства (загруженные+означенные). Подробнее...
 
ObjectStatus GetStatus ()
 Получение статуса Подробнее...
 
ObjectStatus GetStatus (bool recountIfAutoaltered)
 Получение статуса (можно отменить автоматическое вычисление статуса) Подробнее...
 
LoadingState GetLoadingState ()
 Получение состояния загрузки Подробнее...
 
virtual void SetStatus (ObjectStatus newState)
 Установка статуса Подробнее...
 
void SetLoadingState (LoadingState newState)
 Установка состояния загрузки. Подробнее...
 
string[] GetLoadedProperties ()
 Получение списка свойств, значения в которые установлены (требуется в случае, когда состояние загрузки – LightLoaded). Подробнее...
 
List< string > GetLoadedPropertiesList ()
 Получение списка свойств, значения в которые установлены (требуется в случае, когда состояние загрузки – LightLoaded). Подробнее...
 
void SetLoadedProperties (params string[] loadedProperties)
 Установить список свойств, значения в которые установлены (требуется в случае, когда состояние загрузки – LightLoaded). Подробнее...
 
void AddLoadedProperties (params string[] addingLoadedProperties)
 Добавить список свойств, значения в которые установлены (требуется в случае, когда состояние загрузки – LightLoaded). Подробнее...
 
void AddLoadedProperties (List< string > propertyNamesList)
 Добавить список свойств, значения в которые установлены (требуется в случае, когда состояние загрузки – LightLoaded). Подробнее...
 
bool CheckLoadedProperty (string propertyName)
 Проверить, установлено ли значение в указанное свойство (требуется в случае, когда состояние загрузки – LightLoaded). Подробнее...
 
void CopyToObjectWithoutCache (ref DataObject toObject, bool createDataObjectsCopy, bool primaryKeyCopy)
 
virtual void CopyTo (DataObject toObject, bool CreateDataObjectsCopy, bool PrimaryKeyCopy, bool UseParentCaching)
 Создать копию этого объекта данных (не забудьте вызвать InitDataCopy или ClearDataCopy если планируете обновлять объект в БД) Подробнее...
 
virtual void CopyTo (DataObject toObject, bool CreateDataObjectsCopy, bool PrimaryKeyCopy, bool UseParentCaching, DataObjectCache DataObjectCache)
 Создать копию этого объекта данных (не забудьте вызвать InitDataCopy или ClearDataCopy если планируете обновлять объект в БД) Подробнее...
 
virtual void CopySysProps (DataObject toObject)
 Скопировать только системные свойства ("primaryKey", "prototypeKey", "readKey", "CheckDetail", "state", "DisabledInitDataCopy") Подробнее...
 
virtual void ClearPrototyping ()
 Сбросить прототипизацию объекта (очистить все что относится к прототипу) Подробнее...
 
virtual void ClearPrototyping (bool withDetails)
 Сбросить прототипизацию объекта (очистить все что относится к прототипу) Подробнее...
 
virtual void Prototyping ()
 Прототипизировать Подробнее...
 
virtual void Prototyping (bool withDetails)
 Прототипизировать Подробнее...
 
void DisableInitDataCopy ()
 Не инициализировать копию данных объекта при зачитке. По-умолчанию инициализируется. Подробнее...
 
void EnableInitDataCopy ()
 Включить инициализацию копии данных объекта при зачитке. По-умолчанию инициализируется. Подробнее...
 
void InitDataCopy ()
 Проинициализировать копию данных Подробнее...
 
void InitDataCopy (DataObjectCache DataObjectCache)
 Проинициализировать копию данных Подробнее...
 
void clearDataCopy ()
 Очистить внутреннюю копию данных Подробнее...
 
void FullClearDataCopy ()
 Очистка внутренней копии данных в собственном объекте, а также рекурсивно копии мастеровых и детейловых объектов Подробнее...
 
DataObject GetDataCopy ()
 Получить внутреннюю копию объекта данных Подробнее...
 
void SetDataCopy (DataObject value)
 Установить внутреннюю копию объекта данных Подробнее...
 
string[] GetAlteredPropertyNames (bool Recount)
 Возвращает список свойств (атрибутов, мастеров, детейлов), чьи значения изменились по сравнению с внутренней копией Подробнее...
 
string[] GetAlteredPropertyNames ()
 Возвращает список свойств (атрибутов, мастеров, детейлов), чьи значения изменились по сравнению с внутренней копией Подробнее...
 
bool IsAlteredProperty (string propName)
 
bool ContainsAlteredProps ()
 Было ли изменение значений свойств по сравнению с внутренней копией Подробнее...
 
virtual void Clear ()
 Очистка объекта данных. Остается означеным только первичный ключ и вычислимые свойства (если такая возможность предусмотрена) Объект получает статусы ObjectStatus.UnAltered,LoadingState.NotLoaded Подробнее...
 
override string ToString ()
 Преобразуем объект данных в его строковое представление. При этом включаются все свойства объекта, в том числе динамические; нединамические свойства сортируются по алфавиту. Подробнее...
 
string ToString (string[] propNames)
 Преобразуем объект данных в его строковое представление. При этом не включаются динамические свойства, свойства сортируются по алфавиту. Подробнее...
 
string ToStringForAudit (View stringView)
 Преобразование к строке только по видимым нединамическим свойствам (используется в аудите). При этом не включаются динамические свойства, свойства не сортируются по алфавиту (пишутся по представлению уже так, как пользователь задал). Подробнее...
 
virtual string[] CheckNotNullProperties (Dictionary< Type, bool > detailSkip)
 Найти незаполненные поля. Подробнее...
 
virtual string[] CheckNotNullProperties ()
 Поискать незаполенные поля. Подробнее...
 
virtual string[] CheckNotNullProperties (View view, bool returnCaptions, Dictionary< Type, bool > detailSkip)
 Найти незаполненные поля и вернуть заголовки свойств по представлению. Подробнее...
 
virtual string[] CheckNotNullProperties (View view, bool returnCaptions)
 Поискать незаполенные поля и возвращать заголовки свойств по представлению. Подробнее...
 

Открытые статические члены

static string ToSQLString (Function function, delegateConvertValueToQueryValueString convertValue, delegatePutIdentifierToBrackets convertIdentifier)
 Преобразовать значение в SQL строку Подробнее...
 

Открытые атрибуты

const string StormMainObjectKey = "STORMMainObjectKey"
 Константа для STORMMainObjectKey Подробнее...
 
- Открытые атрибуты унаследованные от ICSSoft.STORMNET.FunctionalLanguage.FunctionalLanguageDef
SortedList FunctionsByStringedViewList = new SortedList()
 Список функций с ключом в виде строкового определения Подробнее...
 
- Открытые атрибуты унаследованные от ICSSoft.STORMNET.DataObject
bool PrimaryKeyIsUnique
 Первичный ключ является уникальным Подробнее...
 

Статические открытые данные

static bool OptimizeINOperator = true
 
- Статические открытые данные унаследованные от ICSSoft.STORMNET.DataObject
static GetPresentationValueDelegate GetPresentationValueDelegate
 Делегат для получения презентационного значения объекта. Если не прописан или возвращает null, то будет использована стандартная логика получения этого значения Подробнее...
 

Защищенные члены

virtual string SQLTranslVariable (VariableDef value, delegateConvertValueToQueryValueString convertValue, delegatePutIdentifierToBrackets convertIdentifier)
 Транслировать в SQL переменную Подробнее...
 
virtual string SQLTranslFunction (Function value, delegateConvertValueToQueryValueString convertValue, delegatePutIdentifierToBrackets convertIdentifier)
 Транслировать в SQL функцию Подробнее...
 
string AddUpper (object value, delegateConvertValueToQueryValueString convertValue, delegatePutIdentifierToBrackets convertIdentifier)
 В зависимости от CaseInsensitive добавляет UPPER Подробнее...
 
override void InitializeDefs ()
 Инициализация определений функций языка (для определения связки количества и типов параметров) Подробнее...
 
- Защищенные члены унаследованные от ICSSoft.STORMNET.DataObject
virtual string GetDefaultPresentationValue ()
 Функция для получения презентационного значения для объекта по умолчанию. Презентационное значение используется в случаях, когда необходимо каким-либо образом с максимальной степенью адекватности отобразить объект, а средства настройки этого отображения недоступны. Подробнее...
 
void CheckReadOnly ()
 Процедура проверки объекта на заблокированность Подробнее...
 

Свойства

static SQLWhereLanguageDef LanguageDef [get]
 Получить описание языка Подробнее...
 
bool CaseInsensitive [get, set]
 Чувствительность к регистру при построении ограничений (зависит от настроек БД. Если БД чувствительна к регистру, то нужно вправлять это свойство чтобы получить не чувтвительную к регистру систему) Подробнее...
 
ObjectType BoolType [get]
 
ObjectType NumericType [get]
 
ObjectType StringType [get]
 
ObjectType DateTimeType [get]
 
ObjectType GuidType [get]
 
ObjectType QueryType [get]
 
string funcIsNull [get]
 
string funcNOT [get]
 
string funcOR [get]
 
string funcAND [get]
 
string funcPlus [get]
 
string funcSub [get]
 
string funcMinus [get]
 
string funcDiv [get]
 
string funcLike [get]
 
string funcL [get]
 
string funcLEQ [get]
 
string funcEQ [get]
 
string funcGEQ [get]
 
string funcG [get]
 
string funcNEQ [get]
 
string funcIN [get]
 
string funcBETWEEN [get]
 
string funcSQL [get]
 
virtual string QueryLikeAnyStringSymbol [get, set]
 
virtual string QueryLikeAnyCharacterSymbol [get, set]
 Получить символ, отвечающий за любой символ в строке (по-умолчанию это "_") Подробнее...
 
virtual string UserLikeAnyStringSymbol [get, set]
 
virtual string UserLikeAnyCharacterSymbol [get, set]
 Символ, который вводит пользователь, чтобы обозначить любой символ (по-умолчанию это "_") Подробнее...
 
override int MaxFuncID [get]
 Количество функций (return 100) Подробнее...
 
- Свойства унаследованные от ICSSoft.STORMNET.FunctionalLanguage.FunctionalLanguageDef
virtual int MaxFuncID [get]
 Индекс последней функции в списке Подробнее...
 
DetailArrayOfObjectType Types [get, set]
 Типы (Детейл) Подробнее...
 
DetailArrayOfVariableDef Variables [get, set]
 Переменные (Детейл) Подробнее...
 
DetailArrayOfFunctionDef Functions [get, set]
 Функции (Детейл) Подробнее...
 
ObjectType UpFunctionType [get]
 Тип функции для возврата значения Подробнее...
 
- Свойства унаследованные от ICSSoft.STORMNET.DataObject
bool IsReadOnly [get]
 Проверка что объект залочен Подробнее...
 
Collections.NameObjectCollection DynamicProperties [get, set]
 Динамические свойства объекта Подробнее...
 
object __PrototypeKey [get]
 Ключ прототипа Подробнее...
 
bool Prototyped [get]
 Прототипизированный ли объект Подробнее...
 
virtual object __PrimaryKey [get, set]
 Установка/получение первичного ключа Подробнее...
 

Дополнительные унаследованные члены

- Защищенные данные унаследованные от ICSSoft.STORMNET.FunctionalLanguage.FunctionalLanguageDef
ObjectType fieldUpFunctionType
 Тип функции для возврата значения Подробнее...
 
- Защищенные данные унаследованные от ICSSoft.STORMNET.DataObject
bool IsDataCopy
 является ли объект копией Подробнее...
 
bool bInGetInitializedProperties = false
 Выполняется метод получения проинициализированных свойств public string[] GetInitializedProperties(bool WithMasters) Подробнее...
 

Подробное описание

Определение языка ограничений для конструирования ограничивающих функций

Конструктор(ы)

ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.SQLWhereLanguageDef ( )
inline

Конструктор по-умолчанию (CaseInsensitive берётся из конфига с флагом CaseInsensitive).

ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.SQLWhereLanguageDef ( bool  caseInsensitive)
inline

Конструктор с параметром.

Аргументы
caseInsensitiveНечувствительный к регистру (если true, то для строк при сравнении делаем UPPER).

Методы

string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.AddUpper ( object  value,
delegateConvertValueToQueryValueString  convertValue,
delegatePutIdentifierToBrackets  convertIdentifier 
)
inlineprotected

В зависимости от CaseInsensitive добавляет UPPER

Аргументы
valueFunction.Parameters[i]
convertValue
convertIdentifier
Возвращает
virtual string [] ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.GetExistingVariableNames ( Function  f)
inlinevirtual

return null;

Аргументы
f
Возвращает
override ObjectType ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.GetObjectTypeForNetType ( Type  type)
inlinevirtual

Получатель ObjectType по .NET-типу (для DataObject возвращается тип первичного ключа)

Аргументы
type.NET-тип
Возвращает
ObjectType-тип

Переопределяет метод предка ICSSoft.STORMNET.FunctionalLanguage.FunctionalLanguageDef.

override void ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.InitializeDefs ( )
inlineprotectedvirtual

Инициализация определений функций языка (для определения связки количества и типов параметров)

Замещает ICSSoft.STORMNET.FunctionalLanguage.FunctionalLanguageDef.

virtual string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.SQLTranslFunction ( Function  value,
delegateConvertValueToQueryValueString  convertValue,
delegatePutIdentifierToBrackets  convertIdentifier 
)
inlineprotectedvirtual

Транслировать в SQL функцию

Аргументы
valueфункция
convertValueконвертилка выражений
convertIdentifierпомещатель в скобки-кавычки
Возвращает

Переопределяется в ICSSoft.STORMNET.Windows.Forms.ExternalLangDef.

virtual string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.SQLTranslSwitch ( object  value,
delegateConvertValueToQueryValueString  convertValue,
delegatePutIdentifierToBrackets  convertIdentifier 
)
inlinevirtual

Перенаправитель для обработки параметров: value is Function или value is VariableDef или это просто значение

Аргументы
value
convertValue
convertIdentifier
Возвращает
virtual string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.SQLTranslVariable ( VariableDef  value,
delegateConvertValueToQueryValueString  convertValue,
delegatePutIdentifierToBrackets  convertIdentifier 
)
inlineprotectedvirtual

Транслировать в SQL переменную

Аргументы
valueпеременная
convertValueконвертилка выражений
convertIdentifierпомещатель в скобки-кавычки
Возвращает
static string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.ToSQLString ( Function  function,
delegateConvertValueToQueryValueString  convertValue,
delegatePutIdentifierToBrackets  convertIdentifier 
)
inlinestatic

Преобразовать значение в SQL строку

Аргументы
functionФункция
convertValueделегат для преобразования констант
convertIdentifierделегат для преобразования идентификаторов
Возвращает

Данные класса

const string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.StormMainObjectKey = "STORMMainObjectKey"

Константа для STORMMainObjectKey

Полный список свойств

ObjectType ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.BoolType
get

summary> "Numeric","Число" /summary>

bool ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.CaseInsensitive
getset

Чувствительность к регистру при построении ограничений (зависит от настроек БД. Если БД чувствительна к регистру, то нужно вправлять это свойство чтобы получить не чувтвительную к регистру систему)

ObjectType ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.DateTimeType
get

summary> "Guid","Идентификатор" /summary>

string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.funcAND
get

summary>

  • /summary>
string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.funcBETWEEN
get

summary> SQL /summary>

string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.funcDiv
get

summary> LIKE /summary>

string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.funcEQ
get

summary> >= /summary>

string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.funcG
get

summary> <> /summary>

string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.funcGEQ
get

summary> > /summary>

string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.funcIN
get

summary> BETWEEN /summary>

string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.funcIsNull
get

summary> NOT /summary>

string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.funcL
get

summary> <= /summary>

string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.funcLEQ
get

summary> = /summary>

string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.funcLike
get

summary> < /summary>

string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.funcMinus
get

summary> / /summary>

string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.funcNEQ
get

summary> IN /summary>

string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.funcNOT
get

summary> OR /summary>

string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.funcOR
get

summary> AND /summary>

string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.funcPlus
get

summary>

  • /summary>
string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.funcSQL
get

summary> Если в IN будет участвовать один объект, то IN заменится на = /summary>

string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.funcSub
get

summary>

  • /summary>
ObjectType ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.GuidType
get

summary> "Query","SQL выражение" /summary>

SQLWhereLanguageDef ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.LanguageDef
staticget

Получить описание языка

override int ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.MaxFuncID
get

Количество функций (return 100)

ObjectType ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.NumericType
get

summary> "String","Текст" /summary>

virtual string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.QueryLikeAnyCharacterSymbol
getset

Получить символ, отвечающий за любой символ в строке (по-умолчанию это "_")

ObjectType ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.QueryType
get

summary> ISNULL /summary>

ObjectType ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.StringType
get

summary> "DateTime","Дата/Время" /summary>

virtual string ICSSoft.STORMNET.FunctionalLanguage.SQLWhere.SQLWhereLanguageDef.UserLikeAnyCharacterSymbol
getset

Символ, который вводит пользователь, чтобы обозначить любой символ (по-умолчанию это "_")