EPolWS
DbEPBase.cs
Home
Account
ep_test.txt
SerializableBase
DbConnectionBase
EPolESForm
DbSTable
EmailFactory.cs
epmain
EPolES
DbVariableView.cs
ProfileView
EPolLOcal Main
Page Main Example
EPolWS EPolWS.asmx
EPolWS EPolWS.cs
CommandManager
CommandFactory
CommandFactoryBase
OrganisationView
EPolConsole Main
DbEPBase.cs
DbRecordArray
DbTable

EXDb97

using System; using EXCommon; using System.Collections; using System.Text; using System.Runtime.CompilerServices; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters; using System.Runtime.Serialization.Formatters.Binary; using System.Diagnostics; using System.Data.SqlClient; using System.IO; //###2 namespace EXDb97 { /// /// Summary description for DbEPBase. /// public class CDbEPBase : CBase { public CDbEPBase() { } public const string ATTRIBUTE_TYPE_FIELD = "AttributeType"; public const string NAME_INDEX_FIELD = "NameIndex"; public const string CREATOR_NAME_INDEX_FIELD = "CreatorNameIndex"; public const string MASTER_INDEX_FIELD = "[MasterIndex]"; public const string MASTER_SUB_INDEX_FIELD = "[MasterSubIndex]"; public const string MASTER_NAME_FIELD = "[MasterName]"; public const string MASTER_PARENT_SUB_INDEX_FIELD = "[MasterParentSubIndex]"; public const string MASTER_PARENT_INDEX_FIELD = "[MasterParentIndex]"; public const string BENEFICIARY_INDEX_FIELD = "[BeneficiaryIndex]"; public const string BENEFICIARY_SUB_INDEX_FIELD = "[BeneficiarySubIndex]"; public const string NAME_FIELD = "Name"; public const string ORGANISATION_INDEX_FIELD = "[OrganisationIndex]"; public const string ORGANISATION_SUB_INDEX_FIELD = "[OrganisationSubIndex]"; public const string ORGANISATION_LIST_TABLE_NAME = "OrganisationTable"; public const string ORGANISATION_RELATION_FIELD = "OrganisationRelation"; public const string POSITION_FIELD = "Position"; public const string VOTE_UNIT_IDENTIFIER = "VoteUnitIdentifier"; public const string PROFILE_INDEX_FIELD = "[ProfileIndex]"; public const string PROFILE_SUB_INDEX_FIELD = "[ProfileSubIndex]"; public const string MEME_INDEX_FIELD = "[MemeIndex]"; public const string MEME_SUB_INDEX_FIELD = "[MemeSubIndex]"; public const string REFERENCE_INDEX_FIELD = "[ReferenceIndex]"; public const string CRITIC_INDEX_FIELD = "[CriticIndex]"; public const string CRITIC_OF_CRITIC_INDEX_FIELD = "[CriticOfCriticIndex]"; public const string CRITIC_TYPE_INDEX_FIELD = "[CriticTypeIndex]"; public const string TEXT_FIELD = "[TextIndex]"; public const string FIRST_INDEX_FIELD = "[FirstIndex]"; public const string IDENTIFIER_INDEX = "[IdentifierIndex]"; public const string IDENTIFIER_SUB_INDEX = "[IdentifierSubIndex]"; public const string VALUE_FIELD = "[Value]"; public const string TITLE_FIELD = "[Title]"; //public const string ENTITY_FIELD = "Entity"; public const string KEYWORD_FIELD = "Keyword"; public const string KEYWORD_TABLE_NAME = "KeywordT"; // public const string ENTITY_TABLE_NAME = "AttributeToEntityT"; public const string ATRIBUTE_INDEX_TABLE_NAME = "IdentifierT"; public const string ATRIBUTE_INDEX_BY_MODIFICATION_TABLE_NAME = "AttributeIndexByModificationT"; // public const string RESULT_TABLE_NAME = "ResultTable"; public const string LAST_VOTE_DATE_FIELD = "LastVoteDate"; public const string NEXT_VOTE_DATE_FIELD = "NextVoteDate"; public const string LAST_VOTE_CHANGE_DATE_FIELD = "LastVoteChangeDate"; public const string LAST_VOTE_RESULT_FIELD = "LastVoteResult"; public const string RANK_FIELD = "Rank"; public const string USED_DATE_FIELD = "[UsedDate]"; public const string VERSION_FIELD = "[Version]"; public const string INDEX_FIELD = "[Index]"; public const string ATTRIBUTE_INDEX_FIELD = "[AttributeIndex]"; public const string SUB_INDEX_FIELD = "[SubIndex]"; public const string PARENT_SUB_INDEX_FIELD = "[ParentSubIndex]"; public const string PARENT_INDEX_FIELD = "[ParentIndex]"; public const string ENTITY_CLASS_INDEX_FIELD = "[EntityClassIndex]"; public const string ENTITY_TARGET_FIELD = "[EntityTargetIndex]"; public const string RELATION_FIELD = "[Relation]"; public const string PARENT_ENTITY_INDEX_FIELD = "[ParentEntityIndex]"; public const string PARENT_ENTITY_ID_INDEX_FIELD = "[ParentEntityIdIndex]"; public const string PROPERTY_FIELD = "[Property]"; public const string ENTITY_INDEX_FIELD = "[EntityIndex]"; public const string MEME_NAME_FIELD = "MemeName"; public const string MEME_PARENT_INDEX_FIELD = "MemeParentIndex"; public const string MEME_VOTE_INDEX_FIELD = "MemeVoteIndex"; public const string MEME_VOTE_STYLE_FIELD = "MemeVoteStyle"; public const string CLICK_TOTAL_FIELD = "ClickTotal"; public const string MEME_DESCRIPTION_INDEX_FIELD = "MemeDescriptionIndexField"; public const string LANGUAGE_FIELD = "Language"; // public const string META_CLASS_FIELD = "MetaClass"; public const string CLASS_FIELD = "ClassF"; public const string CULTURE_FIELD = "Culture"; public const string BALLOT_TYPE_FIELD = "Ballot"; public const string MEME_ADDRESS_FIELD = "MemeAddress"; public const string RESULT_TABLE_NAME = "ResultTable"; public const string MEME_TABLE_NAME = "MemeTable"; public const string SUPPORT_FIELD = "Support"; public const string RESULT_FIELD = "Result"; public const string IDENTIFIER_INDEX_FIELD = "[IdentifierIndex]"; public const string IDENTIFIER_REFERENCE_INDEX_FIELD = "[IdentifierReferenceIndex]"; public const string COMPARATOR_CONDITION_FIELD = "[ComparatorCondition]"; public const string PREFERENCE_TYPE = "[Preference]"; public const string CRITERIA_FIELD = "[Criteria]"; public const string ANNOTATION_FIELD = "[Annotation]"; public const string MEMBER_PREFIXE = "memb"; public const string ORGANISATION_PREFIXE = "org"; public const string ATTRIBUTE_INDEX_PREFIXE = "a"; public const string ENTITY_PREFIXE = "e"; public const string ENTITY_RELATION_PREFIXE = "e_rel"; public const string DETAIL_PREFIXE = "det"; public const string RESULT_PREFIXE = "res"; public const string PROFILE_LIST_TABLE_NAME = "ProfileListTable"; public const string CATEGORY_TABLE_NAME = "CategoryTable"; public const string RESOURCE_TABLE_NAME = "ResourceTable"; protected const string LBY_PROFILE = "lautbry"; protected const string ARCHYTAS_PROFILE = "archytas"; public const string OBJECTIVE_CATEGORY = "Objective"; public const string ACTION_CATEGORY = "Action"; public const string HUMANITY_FINALITY_CATEGORY = "HumanityFinality"; public const string RULE_CATEGORY = "Rule"; public const string DEFINITION_RULE_CATEGORY = "DefinitionRule"; public const string SYNDICATE_CONTRACT_CATEGORY = "SyndicateContract"; public const string BELIEF_CATEGORY = "Belief"; public const string YEAR_BUDGET_TABLE = "YearBudgetTable"; public const string REFLEXIVE_PREFIXE = "R"; public const string INTEGER_TYPE = "Integer"; public const string ENTITY_TYPE = "Entity"; public const string STRING_255_TYPE = "String 255"; public const string STRING_50_TYPE = "String 50"; public const string STRING_10_TYPE = "String 10"; public const string STRING_20_TYPE = "String 20"; public const string STRING_4000_TYPE = "String 4000"; public const string STRING_TYPE = "String"; public const string BOOLEAN_TYPE = "Boolean"; public const string DOUBLE_TYPE = "Double"; public const string AUTO_TYPE = "Integer"; public const string BINARY_TYPE = "Binary"; public const string BINARY_COMPRESS_TYPE = "BinaryCompress"; public const string DATE_TYPE = "Date"; public const string BIT_TYPE = "Bit"; public const string AND = " and "; public const string OR = " or "; public const int PRIVATE_PROFILE_SUB_INDEX = -1; public const int PUBLIC_PROFILE_SUB_INDEX = 0; public const int ORGANISATION_ROOT_SUB_INDEX = 0; public static SIndex ROOT_ENTITY_SINDEX = new SIndex(0,0); public static SIndex iGetPublicProfileIfLoginProfile(SIndex oLoginProfile) { if (oLoginProfile.dSubIndex == PRIVATE_PROFILE_SUB_INDEX) oLoginProfile.dSubIndex = PUBLIC_PROFILE_SUB_INDEX; return oLoginProfile; } static public char cGetEndChar(char c ) { char cEndChar = '\0'; if (c == '\'') { cEndChar = '\''; } else if (c == '"') { cEndChar = '"'; } else if (c == '(') { cEndChar = ')'; } else if (c == '[') { cEndChar = ']'; } else if (c == '{') { cEndChar = '}'; } return cEndChar; } static public bool bStartOfEnclosing(char c ) { return cGetEndChar( c ) != '\0'; } static public bool bIsACharOfAWord(char c) { return Char.IsLetter(c) || Char.IsNumber(c) || c == '#' || c == ';' || c == '.' || c == ',' || c == '_' || c == '!' || c == '=' || c == '@' || c == '$'; } public static bool bHasOnlyAuthorizeCharacter(string sWord) { for (int i = 0; i < sWord.Length; i++) { if (bIsACharOfAWord(sWord[i]) == false) { return false; } } return true; } public static SIndex NULL_SINDEX = new SIndex(0, 0); public static SIndex NOT_USED_SINDEX = new SIndex(NOT_USED, NOT_USED); public static SBIndex NOT_USED_SBINDEX = new SBIndex(NOT_USED, NOT_USED_SINDEX); public struct SBIndex { public SBIndex(int _dReferenceIndex, SIndex _dMainSIndex) { dReferenceIndex = _dReferenceIndex; dMainSIndex = _dMainSIndex; } public SBIndex(SIndex _dMainSIndex) { dReferenceIndex = NOT_USED; dMainSIndex = _dMainSIndex; } public int dReferenceIndex; public SIndex dMainSIndex; public override string ToString() { return dMainSIndex.ToString() + "(" + dReferenceIndex + ")"; } public int dIndex { get { return dMainSIndex.dIndex; } } }; public struct SMemeDisplay { public SIndex iMeme; public string sAuthorName; public string sAddress; public string sContent; } static public bool bIsEqual( SIndex oIdx1, SIndex oIdx2 ) { if (IsUsed(oIdx1) && IsUsed(oIdx2)) { return oIdx1.dIndex == oIdx2.dIndex && oIdx1.dSubIndex == oIdx2.dSubIndex; } return false; } public struct SIndex { public SIndex(int dMainIndex, int dMainSubIndex) { dIndex = dMainIndex; dSubIndex = dMainSubIndex; } public SIndex(int dMainIndex) { dIndex = dMainIndex; dSubIndex = NOT_USED; } public int dIndex; public int dSubIndex; public override string ToString() { return dIndex + "." + dSubIndex; } public string csDump() { return ToString(); } }; static public void EPAssertMessage(bool bAssert, string sMessage) { CTrace.i().vAssertMessage(bAssert, sMessage); } static new public void EPAssert(bool bAssert, string sMessage) { CTrace.i().vAssert(bAssert, sMessage); } static new public void EPAssert(bool bAssert) { CTrace.i().vAssert(bAssert, null); } public struct STitleAndText { public string sTitle; public string sText; } static public int[] ToIndex(SIndex[] oIndexArray) { ArrayList dIndexList=new ArrayList(); for (int i = 0; i < oIndexArray.Length; i++) { if (dIndexList.Contains(oIndexArray[i].dIndex) == false) { dIndexList.Add(oIndexArray[i].dIndex); } } return (int[])dIndexList.ToArray(typeof(int)); } static public int[] ToSubIndex(SIndex[] oIndexArray) { int[] dIndexArray = new int[oIndexArray.Length]; for (int i = 0; i < oIndexArray.Length; i++) { dIndexArray[i] = oIndexArray[i].dSubIndex; } return dIndexArray; } static public SIndex ToSIndex(string sParsing) { SIndex oIndex = NOT_USED_SINDEX; try { int dPoint = sParsing.IndexOf('.'); if ( dPoint== -1 ) { oIndex.dIndex= Convert.ToInt32(sParsing); } else { oIndex = new SIndex(Convert.ToInt32(sParsing.Substring(0, dPoint)), Convert.ToInt32(sParsing.Substring(dPoint+1))); } } catch(Exception e) { } return oIndex; } static public string ToString(int[] dArray) { if (dArray==null || dArray.Length == 0) return null; StringBuilder sResult = new StringBuilder(dArray[0].ToString()); for (int i = 1; i < dArray.Length; i++) { sResult.Append(',');sResult.Append(dArray[i].ToString()); } return sResult.ToString(); } static public string ToString(SIndex[] dArray) { if (dArray == null || dArray.Length == 0) return null; StringBuilder sResult = new StringBuilder(dArray[0].ToString()); for (int i = 1; i < dArray.Length; i++) { sResult.Append(','); sResult.Append(dArray[i].ToString()); } return sResult.ToString(); } static public string ToString(P[] dArray) { if (dArray == null || dArray.Length == 0) return null; StringBuilder sResult = new StringBuilder(dArray[0].ToString()); for (int i = 1; i < dArray.Length; i++) { sResult.Append(','); sResult.Append(dArray[i].ToString()); } return sResult.ToString(); } static public string ToString(object[] dArray) { if (dArray == null || dArray.Length == 0) return null; StringBuilder sResult = new StringBuilder(dArray[0].ToString()); for (int i = 1; i < dArray.Length; i++) { sResult.Append(','); sResult.Append(dArray[i].ToString()); } return sResult.ToString(); } static public bool IsNotUsed(SIndex oIndex) { return oIndex.dIndex == NOT_USED || oIndex.dSubIndex == NOT_USED; } static public bool IsUsed(SIndex oIndex) { return oIndex.dIndex != NOT_USED && oIndex.dSubIndex != NOT_USED; } static public bool IsUsed(SBIndex oIndex) { return IsUsed(oIndex.dMainSIndex.dIndex); } static public bool IsNotUsed(SBIndex oIndex) { return oIndex.dMainSIndex.dIndex == NOT_USED; } // Relation List public const char HAS_RELATION = 'a'; public const char HAS_MANDATORY_PARAMETER_RELATION = 'b'; public const char HAS_NAME_RELATION = 'c'; public const char IS_OPTION_RELATION = 'e'; public const char IS_TYPE_OF_HIS_SET = 'f'; public const char IS_SYNOPSIS = 'g'; static public string ToString(SProperty[] dArray) { if (dArray == null || dArray.Length == 0) return null; StringBuilder sResult = new StringBuilder(); for (int i = 0; i < dArray.Length; i++) { if (i> 0) sResult.Append(','); sResult.Append(dArray[i].cRelation.ToString() + ":" + dArray[i].dProperty.ToString().ToLower()); } return sResult.ToString(); } public struct SProperty { public char cRelation; public P dProperty; } public const string IDENTIFIER_PROPERTY_SEPARATOR = ","; public const string IDENTIFIER_CHILD_SEPARATOR = "."; public const string IDENTIFIER_MEME_SEPARATOR = "#"; static public void vSet(ref SProperty[] eArray, char cRelation, P dName) { switch( cRelation) { case IS_OPTION_RELATION: case IS_TYPE_OF_HIS_SET: case HAS_NAME_RELATION: case IS_SYNOPSIS: vUpdate(ref eArray, cRelation, dName); break; case HAS_RELATION: case HAS_MANDATORY_PARAMETER_RELATION: default: vAdd(ref eArray, cRelation, dName); break; } CTrace.i().vWriteLn(ENMessage.EntityLoading, " vSet = " + cRelation + dName + ":" + ToString(eArray)); } static void vAdd(ref SProperty[] eArray, char cRelation, P dName) { if (eArray == null) { eArray = new SProperty[1]; eArray[0].dProperty = dName; eArray[0].cRelation=cRelation; } else { SProperty[] eNewArray = new SProperty[eArray.Length + 1]; for (int i = 0; i < eArray.Length; i++) { eNewArray[i] = eArray[i]; } eNewArray[eArray.Length].dProperty = dName; eNewArray[eArray.Length].cRelation = cRelation; eArray = eNewArray; } } static int dGetIndex(SProperty[] eArray, char cRelation) { for (int i = 0; eArray != null && i < eArray.Length; i++) { if (eArray[i].cRelation == cRelation) { return i; } } return NOT_USED; } static public P dGet(SProperty[] eArray, char cRelation) { int dIndex = dGetIndex(eArray, cRelation); if (IsUsed(dIndex)) { return eArray[dIndex].dProperty; } return P.NOT_USED; } static public int dGetArray(SProperty[] eArray, char cRelation, out P[] dPropertyArray) { ArrayList oPropertArrayList = new ArrayList(); for (int i = 0; eArray != null && i < eArray.Length; i++) { if (eArray[i].cRelation == cRelation) { oPropertArrayList.Add(eArray[i].dProperty); } } if (oPropertArrayList.Count > 0 ) { dPropertyArray = (P[])oPropertArrayList.ToArray(typeof(P)); } else { dPropertyArray =null; } return oPropertArrayList.Count; } static void vUpdate(ref SProperty[] eArray, char cRelation, P dProperty) { int dIndex = dGetIndex(eArray, cRelation); if (IsUsed(dIndex)) { eArray[dIndex].dProperty = dProperty; } else { vAdd(ref eArray, cRelation, dProperty); } } /// /// ///////////////////////////////////////////////////////////// /// /// /// static public bool IsNotUsed(P enProp) { return enProp == P.NOT_USED; } public enum ENExecution { Independant = 0, DoneOnlyIfOtherDone = 1, Exclusive = 2 } public static bool Contains(ref P[] eArray, P dName) { if (eArray == null) { return false; } else { for (int i = 0; i < eArray.Length; i++) { if (eArray[i] == dName) { return true; } } } return false; } static public void vAdd(ref P[] eArray, P dName) { if (eArray == null) { eArray = new P[1]; eArray[0] = dName; } else { P[] eNewArray = new P[eArray.Length + 1]; for (int i = 0; i < eArray.Length; i++) { eNewArray[i] = eArray[i]; } eNewArray[eArray.Length] = dName; eArray = eNewArray; } } public static void vSet(ref string[] sArray, int dPos, string sValue) { if (sArray == null) { sArray = new string[dPos + 1]; for(int i=0; i < dPos; i++ ) { sArray[i] = null; } sArray[dPos] = sValue; } else if (dPos < sArray.Length) { sArray[dPos] = sValue; } else { string[] sNewArray = new string[dPos + 1]; for (int i = 0; i < sArray.Length; i++) { sNewArray[i] = sArray[i]; } for (int i = sArray.Length; i < dPos; i++) { sNewArray[i] = null; } sNewArray[dPos] = sValue; sArray = sNewArray; } } static bool Contains(P[] eArray, P dName) { if (eArray == null) return false; for (int i = 0; i < eArray.Length; i++) { if (eArray[i] == dName) { return true; } } return false; } public string FromObjectToString(object[] oObjectArray) { string sOutput = ""; for (int i = 0; i < oObjectArray.Length; i++) { sOutput += oObjectArray[i].ToString() + "|"; } return sOutput; } public static int dGetLanguage(P dLanguage) { switch (dLanguage) { case P.ENGLISH: return 0; case P.FRENCH: return 1; default: return 0; } } // This class necessite some specific coding // Entity list public enum P { NOT_USED = -999, TYPE_ERROR=-888, CONVERTION_FAILED=-777, NONE = 0, ALL=1, CREATE, LIST, MOVE, REMOVE, REVOKE, DELETE, HELP, VOTE, SUPPORT, OPPOSE, ADD, UPDATE, SET, GRANT, STATUS, DISPLAY, SHOW, HIDE, VOTE_COUNT, ATTRIBUTE_TYPE, COMMAND_CLASS, SINDEX_CLASS, EXECUTED_ENTITY_CLASS, ATTRIBUTE_MANDATORY, ATTRIBUTE_FACULTATIVE, //META_CLASS, CLASS, NAME, AGENT, ORGANISATION, COMMITTEE, AVATAR, AVATAR_NAME, ORGANISATION_NAME, MEMBER_NAME, AUTHOR_NAME, SENDER, PROFILE, MEMBER_PROFILE, IDENTIFIER, ATTRIBUTE, ENGLISH, FRENCH, CATEGORY, TRACTATION, OBJECTIVE, RULE, PRINCIPLE, //PHYSICAL_RULE, SELF_ETHIC, CONSTRAINT, ACTION, MARKETING, INDIVIDUAL_POSITION, RESSOURCE, ASSET_LIQUID_SELLABLE, PERSONAL_AVAILABLE_TIME, DIRECT_TAXATION, INDIRECT_TAXATION, CIVIL_SERVANT_TIME, TIME, CURRENT_YEAR, FUTURE_YEAR, PAST_YEAR, LOCATION, WORLD, COUNTRY, REGION, CITY, DISTRICT, PROSPECT, FACT, OPPOSITION_FACT, MANAGEMENT_TEAM, MANAGEMENT_PRIVATE_COMPANY, GOVERMENT_STATE, ORGANIC_RULE, ASSIGMENT, RIGHT_TO_REACT, STRIKE, SELF_TAX_REDUCTION, ISSUE, NOMENCLATURA, TAXATION, POLITICAL_CAMPAIGN, LANGUAGE, URL, PUBLICATION, COMMITMENT, CYBERSPACE, DOCUMENT, AUTHOR, ARGUMENT, BELIEF, STUDY_RESULT, IN_UNDEFINITE_FUTURE, CREATE_RULE, CULTURAL_BELIEF_RULE, CONSTITUTION, CLASSIC_RULE, CONSEQUENCE, CHARACTER_INVIDUAL_DISTRIBUTION, CULTURAL_BELIEF, PROPERTY_DISTRIBUTION, FECONDITY, FECONDITY_AGE, CHAPTER, CONSENSUS, MESSAGE, ACCESS, BILL, SECTION, SUB_SECTION, GUIDANCE, KEYWORD, CONSULTATION, NAMESPACE, CASE, RESOLUTION, EXPERITMENT_RESOLUTION, ACT_RESOLUTION, INFORMATIVE_RESOLUTION, POLL, ADMINISTRATOR_ORGANISATION, FRIEND, BIRTHDATE, DATE_TYPE, STRING_255_TYPE, INTEGER_TYPE, INTEGER_ARRAY_TYPE, STRING_50_TYPE, STRING_10_TYPE, STRING_20_TYPE, STRING_4000_TYPE, NAME_STRING_TYPE, TEXT_TYPE, STRING_TYPE, BOOLEAN_TYPE, DOUBLE_TYPE, TIMESPAN_TYPE, SINDEX_TYPE, EXECUTED_ENTITY_TYPE, P_TYPE, ENTITY_ARRAY_TYPE, TITLE_AND_TEXT_TYPE, IDENTIFIER_TYPE, FEATURE, TIMESPAN_FEATURE, ELECTION_SPAN_FEATURE, /* CULTURE, SCIENTIFIC_CULTURE, CHRISTIAN_CULTURE, CHRISTIAN_ORTHODOX_CULTURE, CHRISTIAN_CATHOLIC_CULTURE, CHRISTIAN_CALVINIST_CULTURE, STOIC_CULTURE, BUDDHIST_CULTURE, ATHEIST_CULTURE, AGNOSTIC_CULTURE, MARXIST_CULTURE, MANICHEEN_CULTURE, UNKNOWN_CULTURE, * */ PROFILE_ATTRIBUTE, MEMBER_ATTRIBUTE, ORGANISATION_ATTRIBUTE, COMMITTEE_ATTRIBUTE, MEMBER_IN_ORGANISATION_ATTRIBUTE, MEMBER_IN_COMMITTEE_ATTRIBUTE, AUTHORISATION, GRADE_CLASS, CURRENCY_CLASS, DOCUMENT_CLASS, ATTRIBUTE_ORGANISATION_CLASS, VOTE_INDENTIFIER_CLASS, ENTITY_ROOT, TRADUCTION, //INDEX_CLASS, //SUB_INDEX_CLASS, TYPE, INSTANCE_TYPE, THEME, DEMOCRACY, TITLE, LINK, SESSION, /*CRITERIA, HUMANITY_VERSUS_INDIVIDUAL_CRITERIA, READIBILITY_CRITERIA, COST_CRITERIA, RESEARCH_CRITERIA, URGENCE_CRITERIA, IMPORTANCE_CRITERIA, ORIGINALITY_CRITERIA, FUTURE_VERSUS_PRESENT_CRITERIA, * */ TITLE_AND_TEXT_ATTRIBUTE_TYPE, EXECUTIVE_FEATURE, EXECUTIVE_CONDITION, EXCLUSIVE_EXECUTION, INDEPENDANT_EXECUTION, DEPENDANT_EXECUTION, SUB_MEME_VOTE_ENTITY , MEME_PREFERENCE_VOTE_ENTITY, SELECTION_BY_CRITICS_VOTE_ENTITY, RULE_CLASS, BILL_PROPOSAL_CLASS, ORGANISATION_PROPERTY_CLASS, ANNOTATION_CLASS, VOTE_TYPE_CLASS, COMPARATOR_CLASS, CRITERIA_CLASS, PERCENTAGE_FEATURE, ELECTION_CHANGE_FREEZE_PERCENTAGE_FEATURE, RULE_FUNDAMENTAL, CRITIC_AGAINST_RULE_RULE_FUNDAMENTAL, CRITIC_AGAINST_CRITIC, BILL_AGAINST_CRITIC, BILL_AGAINST_BILL, CRITIC, CRITIC_REDACTION, CRITIC_PROPAGANDA, CRITIC_VOCABULARY, ORGANISATION_PROPERTY_VOTE, COMMITY_ATTRIBUTION_VOTE, REDACTION_RULE_OF_CRITIC_VOTE, VOCABULARY_RULE_OF_CRITIC_VOTE, ANNOTATION, ANNOTATION_OF_ANNOTATION, SPECIALITY_CLASS, GENERAL_SPECIALITY, TRACE, // AVATAR_INDEX, // PROFILE_INDEX, //SUB_INDEX, // MEME_INDEX, //MEME_SUB_INDEX, MEME, INDEX_TYPE, PROFILE_INDEX_TYPE, ORGANISATION_INDEX_TYPE, COMMITTEE_SINDEX_TYPE, AVATAR_SINDEX_TYPE, ENTITY_ITEM_ARRAY_TYPE, COMMAND_LINE_TYPE, PARENT, VIRTUAL, RECURSIVE, MEMBER, TO, COMMENT, COMPARATOR, ENCRYPT, MYSELF, PUBLIC, PRIVATE, VARIABLE, FUNCTION, AGAINST, //IDENTIFIER_OBJECT, IDENTIFIER_RESULT, COMMAND_SYNOPSIS_CLASS, COMMAND_ENTITY_COMMAND_SYNOPSIS, COMMAND_ENTITY_NAME_COMMAND_SYNOPSIS, COMMAND_ENTITY_NAME_TEXT_COMMAND_SYNOPSIS, GOSPEL, EVANGELIST, DOCUMENT_REFERENCE, BIBLE_LINE, PARAGRAPH, MARK, MATTHEW, LUKE, JOHN, TRANSLATION, GOSPEL_TRANSLATION, YOUNG_LITERAL_TRANSLATION, DATE, CHRISTIAN, FAITH, ENTITY_COUNT, FIRST_KEYWORD_INDEX = 1000 } static SIndex ToSIndex(int dIndex) { return new SIndex(dIndex); } static public string[] sGetParameters(params string[] sParameterArray) { string[] sArray = new string[sParameterArray.Length]; for (int i = 0; i < sParameterArray.Length; i++) { sArray[i] = sParameterArray[i]; } return sArray; } static public string sConvert(params string[] strFieldArray) { string strFieldList = ""; for (int i = 0; i < strFieldArray.Length; i++) { if (strFieldList.Length > 0) strFieldList += ", "; strFieldList += strFieldArray[i]; } return strFieldList; } static public string[] sConcatParameterArray(string[] sParameter1Array, string[] sParameter2Array) { if (sParameter2Array == null) { return sParameter1Array; } else if (sParameter1Array == null) { return sParameter2Array; } else { string[] sArray = new string[sParameter1Array.Length + sParameter2Array.Length]; int i; for (i = 0; i < sParameter1Array.Length; i++) { sArray[i] = sParameter1Array[i]; } for (int j = 0; j < sParameter2Array.Length; j++) { sArray[i + j] = sParameter2Array[j]; } return sArray; } } public static int[] ToIntegerArray(ArrayList oArrayList) { return ToIntegerArray(oArrayList, 0); } public static int[] ToIntegerArray(ArrayList oArrayList, int dIndex) { if (oArrayList == null) { return null; } int[] oIntegerArray = new int[oArrayList.Count]; for (int i = 0; i < oArrayList.Count; i++) { object[] oObjects = (object[])oArrayList[i]; oIntegerArray[i] = (int)oObjects[dIndex]; } return oIntegerArray; } public static SIndex[] ToSIndexArray(ArrayList oArrayList, int dIndex) { if (oArrayList == null) { return null; } SIndex[] oSIndexArray = new SIndex[oArrayList.Count]; for (int i = 0; i < oArrayList.Count; i++) { object[] oObjects = (object[])oArrayList[i]; oSIndexArray[i].dIndex = (int)oObjects[dIndex]; oSIndexArray[i].dSubIndex = (int)oObjects[dIndex+1]; } return oSIndexArray; } public static bool bIsLastChar(string s, params char[] cCharArray) { if (s != null && s.Length >= 1) { for (int i = 0; i < cCharArray.Length; i++) { if (s.LastIndexOf(cCharArray[i]) == s.Length - 1) return true; } } return false; } public static P[] dGetArray(params P[] dEntityArray) { return dEntityArray; } public static P[] dRemoveHead(P[] dEntityArray, int dNumber) { if (dEntityArray.Length <= dNumber) { return null; } P[] oNewArray = new P[dEntityArray.Length - dNumber]; for (int i = 0; i < dEntityArray.Length - dNumber; i++) { oNewArray[i] = dEntityArray[dNumber + i]; } return oNewArray; } public static P[] dAdd(P[] dEntityArray, P[] dItemArray) { P[] oNewArray; if (dEntityArray == null) { return dItemArray; } else if (dItemArray == null) { return dEntityArray; } else { oNewArray = new P[dEntityArray.Length + dItemArray.Length]; int i; for (i = 0; i < dEntityArray.Length; i++) { oNewArray[i] = dEntityArray[i]; } for (int j = 0; j < dItemArray.Length; j++) { oNewArray[i + j] = dItemArray[j]; } } return oNewArray; } public static P[] dAdd(P dItem, P[] dEntityArray) { if (IsNotUsed(dItem)) { return dEntityArray; } else { P[] oNewArray = new P[1]; oNewArray[0] = dItem; return dAdd(oNewArray, dEntityArray); } } public static P[] dAdd(P[] dEntityArray, P dItem) { if (IsNotUsed(dItem)) { return dEntityArray; } else { P[] oNewArray = new P[1]; oNewArray[0] = dItem; return dAdd(dEntityArray, oNewArray); } } static public ec dConvert(ArrayList oOutputArray, out SIndex[] oIndexArray) { ec dRC = ec.ST_SUCCEED; oIndexArray = null; if (oOutputArray != null && oOutputArray.Count > 0) { oIndexArray = new SIndex[oOutputArray.Count]; try { if (oOutputArray.Count > 0) { for (int i = 0; i < oOutputArray.Count; i++) { object[] oResult = (object[])oOutputArray[i]; if (oResult.Length < 1) { dRC = ec.ST_SQL_RETURN_ARRAY_TWO_SMALL; } oIndexArray[i].dIndex = (int)oResult[0]; oIndexArray[i].dSubIndex = (int)oResult[1]; } } } catch { dRC = ec.ST_ATTRIBUTE_CONVERTION_ERROR_TOWARD_INTEGER; } } return dRC; } static public SIndex[] Extract(int dIndex, SIndex[] oEntityArray) { ArrayList oAttributeArrayList = new ArrayList(); for (int i = 0; oEntityArray != null && i < oEntityArray.Length; i++) { if (oEntityArray[i].dIndex== dIndex && oAttributeArrayList.Contains(oEntityArray[i]) == false) { oAttributeArrayList.Add(oEntityArray[i]); } } return (SIndex[])oAttributeArrayList.ToArray(typeof(SIndex)); } static public SIndex[] oConcat(SIndex[] oEntityArray, SIndex[] oSecondEntityArray) { ArrayList oAttributeArrayList = new ArrayList(); for (int i = 0; oEntityArray != null && i < oEntityArray.Length; i++) { if (oAttributeArrayList.Contains(oEntityArray[i]) == false) { oAttributeArrayList.Add(oEntityArray[i]); } } for (int i = 0; oSecondEntityArray != null && i < oSecondEntityArray.Length; i++) { if (oAttributeArrayList.Contains(oSecondEntityArray[i]) == false) { oAttributeArrayList.Add(oSecondEntityArray[i]); } } return (SIndex[])oAttributeArrayList.ToArray(typeof(SIndex)); } static new public bool IsUsed(object oValue) { if (oValue == null) { return false; } if (oValue is int || oValue is double || oValue is P) { int nValue; try { nValue = Convert.ToInt32(oValue); } catch (OverflowException e) { CTrace.i().vWriteLn(ENMessage.Error, "oValue = " + oValue + e.ToString() + " Source = " + e.Source + " Msg = " + e.Message); nValue = NOT_USED; } return nValue != NOT_USED && nValue != END_OF_SERIAL && nValue != NO_INFORMATION; ; } else if (oValue is string) { string strValue = oValue.ToString(); return strValue != null && strValue.Length > 0 && strValue != NOT_USED_STR && strValue != NO_DATA && strValue != NO_INFORMATION_STR && strValue != "%" && strValue != "null"; } else if (oValue is DateTime) { DateTime oDate = Convert.ToDateTime(oValue); return oDate != NOT_USED_DATE; ; } else if (oValue is SIndex) { return IsUsed((SIndex)oValue); } else if (oValue is SBIndex) { return IsUsed((SBIndex)oValue); } EPAssert(false, oValue.GetType() + " is not known "); return false; } public enum ENSQLRelation { eq, neq, inf, sup, infeq, supeq, like } public string sGetRelation(ENSQLRelation enRelation) { switch (enRelation) { case ENSQLRelation.eq: return "="; case ENSQLRelation.neq: return "<>"; case ENSQLRelation.inf: return "<"; case ENSQLRelation.sup: return ">"; case ENSQLRelation.supeq: return ">="; case ENSQLRelation.infeq: return "<="; } return null; } public static ec dGetEquation(string sEntityContent, out string sAttributeName, out string sAttributeContent) { if (sEntityContent == null) { sAttributeName = sAttributeContent = null; return ec.ST_ATTRIBUTE_CONTENT_IS_MISSING; } else { int dContentIndex = sEntityContent.IndexOf('='); if (dContentIndex <= 0) { dContentIndex = sEntityContent.IndexOf(':'); } sAttributeName = sEntityContent; sAttributeContent = null; if (dContentIndex <= 0) { return ec.ST_ATTRIBUTE_EQUATION_HEAD_INCORRECT_OR_EQUAL_IS_FORGOTTEN; } else if (sEntityContent.Length - dContentIndex <= 1) { return ec.ST_ATTRIBUTE_EQUATION_CONTENT_IS_MISSING; } else { sAttributeName = sEntityContent.Substring(0, dContentIndex); sAttributeContent = sEntityContent.Substring(dContentIndex + 1, sEntityContent.Length - dContentIndex - 1); } } return ec.ST_SUCCEED; } public const string NULL_VALUE = "null value"; static public byte[] GetSerializedValue(object oPersistentObject) { MemoryStream msStream = new MemoryStream(); IFormatter formatter = new BinaryFormatter(); // serialize shapes try { formatter.Serialize(msStream, oPersistentObject == null ? NULL_VALUE : oPersistentObject); CTrace.i().vWriteLn(ENMessage.Trace, "\nmsStream Stream Length = " + msStream.Length); } catch (SerializationException e) { Console.WriteLine("Failed to serialize. Reason: " + e.Message); throw; } finally { msStream.Close(); } // msStream.Seek(0,0); return msStream.GetBuffer(); } static public object Deserialize(byte[] binValue) { MemoryStream msStream = new MemoryStream((byte[])binValue); CTrace.i().vWriteLn(ENMessage.Trace, "\nmsStream Retrieved Length = " + msStream.Length); IFormatter formatter = new BinaryFormatter(); object oSerializedValue; try { oSerializedValue = formatter.Deserialize(msStream); if (oSerializedValue.ToString() == NULL_VALUE) { oSerializedValue = null; } } catch (SerializationException e) { CTrace.i().vWriteLn(ENMessage.Error, "Failed to deserialize. Reason: " + e.Message); throw; } finally { msStream.Close(); } return oSerializedValue; } public const string ELECTRONIC_DEMOCRACY_INITIALE = "E-DEM"; public new const string DEFAULT_ROOT_PATH = "\\EPolWS"; protected const string EMAIL_PASSWORD = "email"; public const bool BREAK_AT_FIRST_BUG = true; public const int MAX_MEME_IDENTIFIER_RETURN_COUNT = 50; /* static public bool bIsFatalSqlError(ec dRC) { return (dRC < ec.ST_SUCCEED && dRC > ec.ST_SQL_CREATE_TABLE_ALREADY_EXIST) || dRC < ec.ST_PARSER_ERROR_INPUT_TEXT_EMPTY; } static public ec dFilterWarning(ec dRC) { if (bIsFatalSqlError(dRC)) { return dRC; } return ec.ST_SUCCEED; }*/ public struct ENErrorEvent { public ENErrorEvent(object _oEvent, ec _ec) { oEvent = _oEvent; eEC = _ec; } /* public ENErrorEvent() { oEvent = null; eEC = ec.ST_NOT_USED; }*/ public bool bIsError { get { return eEC != ec.ST_SUCCEED && eEC != ec.ST_NOT_USED; } } public bool bIsFatalError { get { return eEC != ec.ST_SUCCEED && eEC != ec.ST_NOT_USED && (int)eEC < 0; } } object oEvent; CDbEPBase.ec eEC; public override string ToString() { return oEvent.ToString() + ":" + eEC.ToString(); } } static public string ToString(ENErrorEvent[] oErrorCodeArray) { if (oErrorCodeArray.Length == 0) { return "OK"; } else { string sOutput=null; for (int i = 0; i < oErrorCodeArray.Length; i++) { if (((ENErrorEvent)oErrorCodeArray[i]).bIsFatalError == false) { sOutput += "Warning(" + ((ENErrorEvent)oErrorCodeArray[i]).ToString() + ") "; } else { sOutput += "Error(" + ((ENErrorEvent)oErrorCodeArray[i]).ToString() + ") "; } } return sOutput; } } static public void vWriteSQLErrorMessage(SqlException oException, string sMessage) { CTrace.i().vWriteLn(ENMessage.sqlError, "oException.Errors.Count = " + oException.Errors.Count); string strError = ""; for (int i = 0; i < oException.Errors.Count; i++) { strError += "|Index #" + i + "\n" + oException.Errors[i].ToString() + "\n" + "\n" + "Message: " + oException.Errors[i].Message + "Number Error Type: " + oException.Errors[i].Number + "\n" + "Source: " + oException.Errors[i].Source + "\n" + "SQL Server State: " + oException.Errors[i].State + "\n"; } CTrace.i().vWriteLn(ENMessage.sqlError, strError + sMessage); } public enum ec { ST_NOT_USED= -999, ST_SUCCEED = 0, ST_COMMAND_NOT_SUPPORTED_FOR_THIS_ENTITY = -1, ST_ENTITY_NOT_SUPPORTED = -2, ST_SMTP_CAN_NOT_SEND_EMAIL = -3, ST_RECIPIENT_UNKNOWN = -4, ST_NAME_CONTAINING_SPACE_OR_OTHER_ILLICITE_CHARACTER = -5, ST_NAME_USED_ALREADY_FOR_A_PROFILE = 6, ST_NAME_USED_ALREADY_FOR_AN_ORGANISATION = 7, ST_WRONG_EMAIL = -9, ST_BUG_INPUT_ARRAY_EMPTY = -10, ST_COMMAND_IS_NOT_KNOWN = -11, ST_NAME_UNKNOWN = -12, ST_DATABASE_SELECTION_ERROR = -1000, ST_SQL_THE_RETURN_ROW_SET_IS_EMPTY = -1001, ST_SQL_INSERT_FAILED = -1002, ST_SQL_RETURN_ARRAY_TWO_SMALL = -1003, ST_SQL_DELETE_FAILED = -1004, ST_SQL_INSERT_FAILED_NO_FIELDS = -1005, ST_SQL_INSERT_FAILED_LESS_VALUE_THAN_FIELD = -1006, ST_SQL_UNKNOWN_EXECUTE_NO_QUERTY_ERROR = -1007, ST_SQL_UNKNOWN_DATABASE_NAME= -1008, ST_SQL_BINARY_CAN_FIND_BINARY = -1009, ST_SQL_BINARY_UPDATE_FAILED = -1010, ST_SQL_SELECT_FAILED = -1011, ST_SQL_DABASE_ALREADY_EXIST = 1012, ST_SQL_CREATE_TABLE_ALREADY_EXIST = 5000, ST_SQL_DELETE_TABLE_NOT_EXISTING = 5001, ST_SQL_INDEX_ALREADY_EXIST = 5002, ST_SQL_NO_DATE_FIELD = -5003, ST_SQL_INSERT_RECORD_ALREADY_EXIST = 5004, ST_SQL_TABLE_NAME_UNKNOWN = 5005, ST_DB_CAN_NOT_DELETE_THE_SINDEX_KEY=-9000, ST_DB_TREE_CAN_NOT_DELETE_IF_THERE_IS_CHILD_KEY=-9001, ST_PARSER_ERROR_INPUT_TEXT_EMPTY = -10000, ST_PARSER_CANNOT_FIND_THE_NEXT_COMMAND = -10001, ST_PARSER_EOM = -10002, ST_PARSER_CAN_NOT_FIND_APOSTROPHE_END = -10003, ST_PARSER_CANNOT_FIND_THE_NEXT_ENTITY = -10004, ST_PARSER_END_OF_LINE = -10005, ST_PARSER_BEGINNING_OF_OPTION = -10006, ST_CONVERTION_INTEGER_FAILED = -110001, ST_PROFILE_UNDEFINED = -20000, ST_PROFILE_AVATAR_NOT_CREATED = -20001, ST_PROFILE_PARENT_PROFILE_DOES_NOT_EXIST = -20002, ST_PROFILE_CAN_NOT_RENAME_THE_AVATAR = -20003, ST_PROFILE_CAN_NOT_CHANGE_AVATAR_LANGUAGE = -20004, ST_PROFILE_THE_AVATAR_DOES_NOT_BELONG_TO_THIS_PROFILE = -20005, ST_PROFILE_CAN_GET_SUB_AVATAR = -20006, ST_PROFILE_CAN_NOT_DELETE_IF_THERE_IS_SUB_AVATAR = -20007, ST_PROFILE_CAN_NOT_DELETE_THE_AVATAR = -20008, ST_AVATAR_RELATION_CAN_NOT_ADD = -20009, ST_PROFILE_THE_ATTRIBUTE_DOES_NOT_HAVE_ACCESS_AUTHORISATION = -20010, ST_ATTRIBUTE_TYPE_MISMATCH = -20011, ST_AVATAR_PROFILE_SELECTION_FAILED = -20012, ST_PROFILE_YOU_DO_NOT_POSSESSED_THIS_AVATAR = -20013, ST_PROFILE_NO_ACTIVE_MEMBERSHIP_FOR_THE_MEME = -20014, ST_PROFILE_NO_RIGHT_TO_ACCESS_THIS_MEME = -20015, ST_PROFILE_NOBODY_CAN_HAVE_ACCESS_TO_YOUR_PRIVATE_PROFILE = -20016, ST_PROFILE_FRIEND_PRIVATE_PROFILE_CAN_NOT_HAVE_FRIEND = -20017, ST_PROFILE_HAS_AN_INVALID_CHARACTER = -20018, ST_PROFILE_SHOULD_NOT_USED_A_RESERVE_KEYWORD = -20019, ST_PROFILE_ALREADY_HAVE_ACCESS_AUTHORISATION = -20020, ST_AVATAR_NAME_IS_UNKNOWN = -20021, ST_PROFILE_CAN_NOT_ACCESS_ANY_OTHER_PROFILE = -20022, ST_AVATAR_HIDE_SHOW_FAILED_AS_THE_ORGANISATION_IS_UNKNOWN = -20023, ST_PROFILE_NO_FRIEND_REGISTERED = 20024, ST_ORGANISATION_PARENT_ORGANISATION_LANGUAGE_CAN_NOT_BE_DIFFERENT_THAN_CURRENT_ORGANISATION = -30000, ST_ORGANISATION_CREATION_FAILED = -30001, ST_ORGANISATION_CREATION_MEMBER_FAILED = -30002, ST_ORGANISATION_LANGUAGE_OPTION_SHOULD_BE_SPECIFIED = -30003, ST_ORGANISATION_LANGUAGE_LANGUAGE_ERROR = -30004, ST_ORGANISATION_LANGUAGE_MISMATCH_WITH_MEMBER = -30005, ST_ORGANISATION_CREATION_AVATAR_SHOULD_BE_SPECIFIED = -30006, ST_ORGANISATION_CREATION_CAN_NOT_GET_LANGUAGE_ZONE = -30007, ST_ORGANISATION_CREATION_ORGANISATION_NAME_UNKNOWN = -30008, ST_ORGANISATION_CREATION_ORGANISATION_PARENT_NAME_UNKNOWN = -30009, ST_ORGANISATION_DELETE_NOT_THE_ADMINISTRATOR = -30010, ST_ORGANISATION_DELETE_AT_LEAST_ONE_MEMBER_DID_NOT_REMOVE_HIS_GRANT_ACCESS = -30011, ST_ORGANISATION_DELETE_RELATION_PROBLEM = -30012, ST_ORGANISATION_DELETE_MEMBER_PROBLEM = -30013, ST_ORGANISATION_DELETE_PROBLEM = -30014, ST_ORGANISATION_CAN_NOT_FIND_PROFILE = -30015, ST_ORGANISATION_MEMBER_ALREADY_GRANT = -30016, ST_ORGANISATION_MEMBER_UPDATE_FAILED = -30017, ST_ORGANISATION_LANGUAGE_SHOULD_BE_THE_SAME_THAN_THE_AVATAR_LANGUAGE = -30018, ST_ORGANISATION_MEMBER_EXTRACTION_FAILED = -30019, ST_ORGANISATION_CREATION_MEMBER_SECRET_PROFILE_CAN_NOT_BE_ADDED = -30020, ST_ORGANISATION_ADD_MEMBER_THE_LOGIN_PROFILE_CAN_NOT_BE_ADDED = -30021, ST_ORGANISATION_ADD_MEMBER_NAME_IS_NOT_KNOWN = -30022, ST_ORGANISATION_NAME_IS_NOT_KNOWN = -30023, ST_AVATAR_LIST_NAME_IS_UNKNOWN = -30024, ST_ORGANISATION_LIST_ORGANISATION_NAME_UNKNOWN = -30025, ST_ATTRIBUTE_EQUATION_HEAD_INCORRECT_OR_EQUAL_IS_FORGOTTEN = -40000, ST_ATTRIBUTE_EQUATION_CONTENT_IS_MISSING = -40001, ST_ATTRIBUTE_TYPE_SHOULD_BE_SPECIFIED = -40002, ST_ATTRIBUTE_FAILED_TO_CREATE_NEW_ATTRIBUTE_TYPE = -40003, ST_ATTRIBUTE_CONVERTION_ERROR_TOWARD_INTEGER = -40004, ST_ATTRIBUTE_CAN_NOT_INSERT_THE_ATTRIBUTE = -40005, ST_ATTRIBUTE_THIS_ATTRIBUTE_TYPE_IS_UNKNOWN = -40006, ST_ATTRIBUTE_THIS_ATTRIBUTE_NAME_IS_UNKNOWN = -40007, ST_ATTRIBUTE_CONVERTION_TOWARD_STRING_EMPTY = -40008, ST_ATTRIBUTE_CAN_NOT_UPDATE_THE_ATTRIBUTE = -40009, ST_ATTRIBUTE_THIS_AVATAR_DOES_NOT_HAVE_THE_RIGHT_TO_ACCESS_THIS_ATTRIBUTE = -40010, ST_ATTRIBUTE_CREATE_TYPE_SHOULD_BE_SPECIFIED = -40011, ST_ATTRIBUTE_NOT_MATCHING_TYPE = -40012, ST_ATTRIBUTE_ALREADY_IN_DATABASE = -40013, ST_ATTRIBUTE_KEY_WORD_CAN_NOT_BE_ADDED = -40014, ST_ATTRIBUTE_CAN_NOT_INSERT_THE_ATTRIBUTE_NEW_ATTRIBUTE = -40015, ST_ATTRIBUTE_WRONG_IDENTIFIER_CAN_NOT_INSERT_KEYWORD = -40016, ST_ATTRIBUTE_ENTITY_DUPLICATE = -40017, ST_ATTRIBUTE_ENTITY_FILTER_ADD_WHERE = -40018, ST_ATTRIBUTE_NO_FIND_ANY_ENTITY_FOR_KEYWORD = -40019, ST_ATTRIBUTE_SHOULD_HAVE_ONLY_ONE_MEME = -40019, ST_ATTRIBUTE_MEME_HAVE_NO_ACTIVE_VERSION_WITH_AN_AUTHORIZE_ACCESS = -40020, ST_ATTRIBUTE_MEME_MORE_THAN_ONE_ACTIVE_VERSION = -40021, ST_ATTRIBUTE_MEME_NO_OWNER_REFERENCE = -40022, ST_ATTRIBUTE_THE_CLASS_ATTRIBUTE_IS_UNKNOWN = -40023, ST_ATTRIBUTE_CAN_NOT_UPDATE_THE_ATTRIBUTE_WITH_SAME_VALUE = -40024, ST_ATTRIBUTE_ENTITY_TO_LIST_NOT_SPECIFIED = -40025, ST_ATTRIBUTE_CONTENT_IS_MISSING = -40026, ST_ATTRIBUTE_NAME_IS_NOT_CORRECTLY_SPECIFY = -40027, ST_ATTRIBUTE_COMMAND_IS_UNKNOWN = -40028, ST_ATTRIBUTE_THE_PARAMETER_IS_MISSING_FROM_THE_COMMAND_LINE = -40029, ST_ATTRIBUTE_DOES_NOT_HAVE_ANY_ID_PARENT = -40030, ST_ATTRIBUTE_MEME_HAVE_NO_ACTIVE_VERSION = -40031, ST_ATTRIBUTE_MEME_NO_MEME = -40032, ST_ATTRIBUTE_MEME_NONE_FOR_THIS_AUTHOR = -40033, ST_ATTRIBUTE_SUPPORT_MEME_DOES_NOT_EXIST = -40034, ST_ATTRIBUTE_CAN_NOT_FIND_THE_VERSION = -40100, ST_ATTRIBUTE_LINK_NOTHINK_TO_THIS_LINK = -41000, ST_ATTRIBUTE_LINK_AMBIGUOUS_RETURN_TO_THIS_LINK = -41001, ST_ATTRIBUTE_LINK_TRADUCTION_CAN_NOT_BE_IN_ENGLISH = -42000, ST_ENTITY_ARRAY_META_CLASS_SHOULD_BE_USED= -43000, ST_ENTITY_AMBIGUOUS_MORE_THAN_ONE_ENTITY_WITH_THIS_ROOT = -43001, ST_ENTITY_NO_ENTITY_WITH_THIS_ROOT = -43002, ST_ENTITY_ONE_OF_KEYWORD_USED_IS_UNKNOWN = -43003, ST_ENTITY_INDEX_DO_NOT_CORRESPOND_TO_ANY_IDENTIFIER = -43004, ST_ENTITY_THE_LIST_OF_DESCENT_DO_NOT_INCLUDE_ID_DESCENT = -43005, ST_ENTITY_IDENTIFIER_ALREADY_INSERTED = -43006, ST_ENTITY_THE_LIST_OF_DESCENT_DO_NOT_INCLUDE_ID_DESCENT_WITH_PARENT = -43007, ST_ENTITY_CAN_NOT_LINK_TO_A_REFERENCE_IF_THE_IDENTIFIER_HAS_ATTRIBUTE = -43008, ST_ATTRIBUTE_TRADUCTION_THE_TRADUCTION_LANGUAGE_SHOULD_BE_DIFFERENT_TO_THE_ORIGINAL_LANGUAGE=-44000, ST_VARIABLE_NO_COMMAND_LINE_ASSOCIATED_TO_THE_VARIABLE = -45000, ST_REPORT_THE_PROFILE_IS_NOT_MAP = -50000, ST_REPORT_EMPTY = 50001, ST_RULE_SHOULD_HAVE_AT_LEAST_A_VERSION_IN_ENGLISH = -60000, ST_RULE_NOT_SUPPORTED = -60001, ST_RULE_CRITERIA_IS_MISSING = -60002, ST_RULE_PRINCIPLE_DOES_NOT_HAVE_CRITERIA = -60003, ST_RULE_NO_RULE_OF_THIS_NAME = -60004, ST_VOTE_NO_OBJECT_TO_SELECT_BY_VOTE = -70000, ST_VOTE_EMPTY_RESULTS = -70001, ST_VOTE_MEME_NOT_IN_THE_MEME_ARRAY = -70002, ST_TRACE_NOT_ACTIVE = -80000, ST_OPTION_THIS_PARENT_IS_UNKNOW = -90000, ST_OPTION_THIS_PARENT_IS_NO_AGENT_NOR_ORGANISATION= -90001, ST_OPTION_PARAMETER_TYPE_IS_UNKNOWN= -90002, ST_OPINION_UNDEFINED_MEME = -10000, } } }

Enter supporting content here