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); }
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); }
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); }
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); } }
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); } } }
public void AddAttribute(IXEP_EmdAttribute att) { AttHelp = null; m_attributes.Add(att.Name, new XEP_EmdAttributeWithPos(att, m_attCounter)); m_attCounter++; }
public XEP_EmdAttributeWithPos(IXEP_EmdAttribute att, int pos) { Att = att; Pos = pos; }