//***************************************************************************// // Legenerálja egy entitás attribútumaiból a mezőket és a tulajdonságokat // // Rendbe van téve // //***************************************************************************// template GenerateSimpleFields(MClass as ENTITY) #region Egyszerű mezők [loop (ENTITY -> MAttribute as ATTRIBUTE)] #region [ATTRIBUTE.name] [GenerateAttributeProperty([ENTITY], [ATTRIBUTE])] #endregion [end loop] #endregion end template //***************************************************************************// // Rendbe van téve // //***************************************************************************// template GenerateAttributeProperty(MClass as ENTITY, MAttribute as ATTRIBUTE) [if (IsAttributeRequired([ATTRIBUTE]) == _True())] protected internal [GetCSharpType([ATTRIBUTE.type])] m_[ATTRIBUTE.name]; [else] protected internal [GetCSharpNullableType([ATTRIBUTE.type])] m_[ATTRIBUTE.name]; [end if] /// [if ([ATTRIBUTE.description] != "")] [ConvertDescriptionToCSharpSummary([ATTRIBUTE.description])] [else] /// Nincs definiálva megjegyzés. [end if] /// \[EntityProperty("[ATTRIBUTE.name]", EntityPropertyBaseType.ValueType, typeof([GetCSharpType([ATTRIBUTE.type])]), EntityCopyMethod.ShallowCopy)\] [if (IsDictionaryItem([ATTRIBUTE]) == _True())] \[EntityDictionaryItemProperty("[ATTRIBUTE.name]", "[GetDictionaryItemClass([ATTRIBUTE])]", typeof(SDA.[ProjectName].Entities.[GetDictionaryItemClass([ATTRIBUTE])]))\] [end if] [if (IsAttributeRequired([ATTRIBUTE]) == _True())] public virtual [GetCSharpType([ATTRIBUTE.type])] [ATTRIBUTE.name] [else] public virtual [GetCSharpNullableType([ATTRIBUTE.type])] [ATTRIBUTE.name] [end if] { get { [if ((ToLower([ATTRIBUTE.type]) == "string" || ToLower([ATTRIBUTE.type]) == "longstring") && IsTrimmed([ATTRIBUTE]) == _True())] return m_[ATTRIBUTE.name] == null ? m_[ATTRIBUTE.name] : m_[ATTRIBUTE.name].Trim(); [else] return m_[ATTRIBUTE.name]; [end if] } [if (IsComputedAttribute([ATTRIBUTE]) == _False())] set { [if (IsReadonlyAttribute([ATTRIBUTE]) == _True())] // readonly attribútum [GenerateReadonlyAttributeSetter([ENTITY], [ATTRIBUTE])] [else] [GenerateAttributeSetter([ENTITY], [ATTRIBUTE])] [end if] } [end if] } [if (IsMultiLanguage([ATTRIBUTE]) == _True())] [if (GetLanguageIndex([ATTRIBUTE]) == "0")] /// /// A(z) [ATTRIBUTE.name] értéke a jelenlegi nyelven. Csak megjelenítéshez használni! /// public [GetCSharpType([ATTRIBUTE.type])] Get[ATTRIBUTE.name]() { return Get[ATTRIBUTE.name](EntityUtil.CurrentLanguageIndex); } private [GetCSharpType([ATTRIBUTE.type])] Get[ATTRIBUTE.name](int languageIndex) { switch (languageIndex) { case 1: { return (string.IsNullOrEmpty([ATTRIBUTE.name]_1) ? [ATTRIBUTE.name] : [ATTRIBUTE.name]_1); } case 2: { return (string.IsNullOrEmpty([ATTRIBUTE.name]_2) ? [ATTRIBUTE.name] : [ATTRIBUTE.name]_2); } case 3: { return (string.IsNullOrEmpty([ATTRIBUTE.name]_3) ? [ATTRIBUTE.name] : [ATTRIBUTE.name]_3); } case 4: { return (string.IsNullOrEmpty([ATTRIBUTE.name]_4) ? [ATTRIBUTE.name] : [ATTRIBUTE.name]_4); } default: { return [ATTRIBUTE.name]; } } } [end if] [end if] end template //***************************************************************************// // Rendbe van téve // //***************************************************************************// template GenerateReadonlyAttributeSetter(MClass as ENTITY, MAttribute as ATTRIBUTE) CheckModifyable(); if (m_[ATTRIBUTE.name] == null || this.ID <= 0) { [if (IsDefaultonlyAttribute([ATTRIBUTE]) == _True())] m_[ATTRIBUTE.name] = [GetCSharpDefaultValueOfAttribute([ATTRIBUTE])]; [else] [if ((ToLower([ATTRIBUTE.type]) == "string" || ToLower([ATTRIBUTE.type]) == "longstring") && IsTrimmed([ATTRIBUTE]) == _True())] m_[ATTRIBUTE.name] = value == null ? value : value.Trim(); [else] m_[ATTRIBUTE.name] = value; [end if] [end if] FieldModified("[ATTRIBUTE.name]", value); } else { throw new ReadOnlyEntityAttributeException("[ENTITY.name]", "[ATTRIBUTE.name]"); } end template //***************************************************************************// // Rendbe van téve // //***************************************************************************// template GenerateAttributeSetter(MClass as ENTITY, MAttribute as ATTRIBUTE) CheckModifyable(); [if (IsDefaultonlyAttribute([ATTRIBUTE]) == _True())] m_[ATTRIBUTE.name] = [GetCSharpDefaultValueOfAttribute([ATTRIBUTE])]; FieldModified("[ATTRIBUTE.name]", value); [else] [if (ToLower([ATTRIBUTE.type]) == "string" || ToLower([ATTRIBUTE.type]) == "binary" || ToLower([ATTRIBUTE.type]) == "longstring")] [if ((ToLower([ATTRIBUTE.type]) == "string" || ToLower([ATTRIBUTE.type]) == "longstring") && IsTrimmed([ATTRIBUTE]) == _True())] value = (value == null) ? value : value.Trim(); [end if] if (m_[ATTRIBUTE.name] == value) return; m_[ATTRIBUTE.name] = value; FieldModified("[ATTRIBUTE.name]", value); [else] if (m_[ATTRIBUTE.name] == value) return; m_[ATTRIBUTE.name] = value; FieldModified("[ATTRIBUTE.name]", value); [end if] [end if] end template