Beispiel #1
0
        static IXEP_EmdElement FindReinforcementElement(IXEP_EmdElement elem4Work, int sectionID)
        {
            IXEP_EmdElement reinfElem = elem4Work;

            if (elem4Work.Name == XEP_EmdFileConstants.s_FakeRootElementName)
            { // more sections
                List <IXEP_EmdElement> sections    = XEP_BaseEmdFile.GetElements(elem4Work, XEP_EmdNames.s_KeySection);
                IXEP_EmdElement        needSection = sections.Where(item => item.GetAttribute(XEP_EmdNames.s_KeyID).GetIntValue() == sectionID).First();
                IXEP_EmdAttribute      attID       = needSection.GetAttribute(XEP_EmdNames.s_KeyID);
                if (attID == null)
                {
                    throw new InvalidOperationException("Section in reinforcement file does not have attribute: " + XEP_EmdNames.s_KeyID);
                }
                if (attID.Value != sectionID.ToString())
                {
                    throw new InvalidOperationException("Section ID attribute is not equals section ID inputed, actual:" + attID.Value + " wanted: " + sectionID.ToString());
                }
                reinfElem = XEP_BaseEmdFile.GetElement(needSection, XEP_EmdNames.s_KeyReinforcement);
            }
            if (reinfElem == null)
            {
                throw new InvalidOperationException("There is not reinforcemnt element for sectionID: " + sectionID.ToString());
            }
            XEP_BaseEmdFile.CheckName(reinfElem.Name, XEP_EmdNames.s_KeyReinforcement);
            return(reinfElem);
        }
Beispiel #2
0
        static public IXEP_EmdAttribute CreateEmdAttribute(string name, string value)
        {
            IXEP_EmdAttribute att = CreateEmdAttribute();

            att.Name  = name;
            att.Value = value;
            return(att);
        }
        public IXEP_EmdAttribute CreateAttribute()
        {
            IXEP_EmdAttribute attEmd = XEP_EmdFactrory.CreateEmdAttribute();

            attEmd.Name  = Name;
            attEmd.Value = Value;
            return(attEmd);
        }
Beispiel #4
0
        public IXEP_EmdElement CreateEmdElement()
        {
            IXEP_EmdElement elemEmd = XEP_EmdFactrory.CreateEmdElement();

            elemEmd.Name = XEP_EmdNames.s_KeyFibre;
            IXEP_EmdAttribute attEmd = XEP_EmdFactrory.CreateEmdAttribute();

            attEmd.Name  = XEP_EmdNames.s_KeyFlag;
            attEmd.Value = Flag.ToString();
            elemEmd.AddAttribute(attEmd);
            //
            elemEmd.Elements.Add(Lcs.CreateEmdElement());
            elemEmd.Elements.Add(Principal.CreateEmdElement());
            return(elemEmd);
        }
Beispiel #5
0
 public void LoadXElement(XElement elem)
 {
     Name = elem.Name.ToString();
     m_attributes.Clear();
     Elements.Clear();
     foreach (var actItem in elem.Attributes())
     {
         IXEP_EmdAttribute attribute = XEP_EmdFactrory.CreateEmdAttribute();
         attribute.LoadXAttribute(actItem);
         AddAttribute(attribute);
     }
     foreach (var actItem in elem.Elements())
     {
         IXEP_EmdElement elemEmd = XEP_EmdFactrory.CreateEmdElement();
         elemEmd.LoadXElement(actItem);
         Elements.Add(elemEmd);
     }
 }
Beispiel #6
0
        private void ReadAtributes(string line)
        {
            bool bNormalAtt = line.Contains(XEP_EmdFileConstants.s_AtributStart);

            if (bNormalAtt)
            {
                while (line.Contains(XEP_EmdFileConstants.s_AtributStart))
                {
                    line = RemoveAttributeStartTag(line);
                    IXEP_EmdAttribute attribute = XEP_EmdFactrory.CreateEmdAttribute();
                    attribute.Name = ReadOneString(ref line);
                    line           = RemoveWhiteSpace(line);
                    if (line.StartsWith(XEP_EmdFileConstants.s_AttributeValueStringStart))
                    {
                        int foundS1 = line.IndexOf(XEP_EmdFileConstants.s_AttributeValueStringStart);
                        int foundS2 = line.IndexOf(XEP_EmdFileConstants.s_AttributeValueStringStart, foundS1 + 1);
                        attribute.Value = line.Substring(foundS1, foundS2 - foundS1 + 1);
                        line            = line.Remove(0, foundS2 + 1);
                    }
                    else
                    {
                        attribute.Value = ReadOneString(ref line);
                    }
                    Attributes.Add(attribute);
                }
            }
            else
            {
                if (Regex.IsMatch(line, @"\w"))
                { // stupid (:IsPhased 0 ) idiotic syntax
                    IXEP_EmdAttribute attribute = XEP_EmdFactrory.CreateEmdAttribute();
                    attribute.Name  = XEP_EmdFileConstants.s_NoNameAttribut;
                    line            = RemoveWhiteSpace(line);
                    attribute.Value = ReadOneString(ref line);
                    Attributes.Add(attribute);
                }
            }
        }
Beispiel #7
0
 public void AddAttribute(IXEP_EmdAttribute att)
 {
     AttHelp = null;
     m_attributes.Add(att.Name, new XEP_EmdAttributeWithPos(att, m_attCounter));
     m_attCounter++;
 }
Beispiel #8
0
 public XEP_EmdAttributeWithPos(IXEP_EmdAttribute att, int pos)
 {
     Att = att;
     Pos = pos;
 }