Esempio n. 1
0
        private void ProcessInverse(SEntity sEntity, SToken sToken)
        {
            SAttributeInverse sAttributeInverse = new SAttributeInverse(sToken.StringValue);
            SToken            oneToken          = SLexer.Tokenizer(_dataStream);

            if (oneToken.TokenType != STokenType.COLON)
            {
                throw new Exception("Error in inverse attribute : " + SLexer.CurrentRow + " : " + SLexer.CurrentColumn);
            }

            sAttributeInverse.Type = ProcessInverseParameter();
            oneToken = SLexer.Tokenizer(_dataStream);
            // referencing entity's attribute name
            oneToken = SLexer.Tokenizer(_dataStream);
            sAttributeInverse.InversingAttributeName = oneToken.StringValue;
            sEntity.InverseList.Add(sAttributeInverse);
            // semi colon
            oneToken = SLexer.Tokenizer(_dataStream);
        }
Esempio n. 2
0
        private void UpdateInverseAttribute(SAttributeInverse sAttributeInverse)
        {
            //SParamNamed inParam;

            if (sAttributeInverse.Type is SParamCollection)
            {
                var sc = sAttributeInverse.Type as SParamCollection;
                if (sc.ParamReference is SParamNamed)
                {
                    var scn = sc.ParamReference as SParamNamed;
                    scn.NamedReference = EntityList[scn.NamedRefString];
                    var sen = scn.NamedReference as SEntity;

                    foreach (var item in sen.ParameterList)
                    {
                        if (item.Name == sAttributeInverse.InversingAttributeName)
                        {
                            sAttributeInverse.InversingAttribute = item;
                        }
                    }
                }
            }
            else
            {
                var sc = sAttributeInverse.Type as SParamNamed;
                sc.NamedReference = EntityList[sc.NamedRefString];
                var sen = sc.NamedReference as SEntity;

                foreach (var item in sen.ParameterList)
                {
                    if (item.Name == sAttributeInverse.InversingAttributeName)
                    {
                        sAttributeInverse.InversingAttribute = item;
                    }
                }
            }
        }
Esempio n. 3
0
        private void ProcessInverse(SEntity sEntity, SToken sToken)
        {
            SAttributeInverse sAttributeInverse = new SAttributeInverse(sToken.StringValue);
            SToken oneToken = SLexer.Tokenizer(_dataStream);
            if (oneToken.TokenType != STokenType.COLON)
            { throw new Exception("Error in inverse attribute : " + SLexer.CurrentRow + " : " + SLexer.CurrentColumn); }

            sAttributeInverse.Type = ProcessInverseParameter();
            oneToken = SLexer.Tokenizer(_dataStream);
            // referencing entity's attribute name
            oneToken = SLexer.Tokenizer(_dataStream);
            sAttributeInverse.InversingAttributeName = oneToken.StringValue;
            sEntity.InverseList.Add(sAttributeInverse);
            // semi colon
            oneToken = SLexer.Tokenizer(_dataStream);
        }
Esempio n. 4
0
        private void UpdateInverseAttribute(SAttributeInverse sAttributeInverse)
        {
            //SParamNamed inParam;

            if (sAttributeInverse.Type is SParamCollection) {
                var sc = sAttributeInverse.Type as SParamCollection;
                if (sc.ParamReference is SParamNamed) {
                    var scn = sc.ParamReference as SParamNamed;
                    scn.NamedReference = EntityList[scn.NamedRefString];
                    var sen = scn.NamedReference as SEntity;

                    foreach (var item in sen.ParameterList) {
                        if(item.Name == sAttributeInverse.InversingAttributeName)
                        {
                            sAttributeInverse.InversingAttribute = item;
                        }
                    }
                }
            } else {
                var sc = sAttributeInverse.Type as SParamNamed;
                sc.NamedReference = EntityList[sc.NamedRefString];
                var sen = sc.NamedReference as SEntity;

                foreach (var item in sen.ParameterList) {
                    if(item.Name == sAttributeInverse.InversingAttributeName)
                    {
                        sAttributeInverse.InversingAttribute = item;
                    }
                }

            }
        }