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 IXEP_EmdElement FindReinforcementElement4StirrupZones(IXEP_EmdElement elem4Work) { IXEP_EmdElement reinfElem = elem4Work; if (elem4Work.Name == XEP_EmdFileConstants.s_FakeRootElementName) { // more sections reinfElem = XEP_BaseEmdFile.GetElement(elem4Work, XEP_EmdNames.s_KeyReinforcement); } if (reinfElem == null) { throw new InvalidOperationException("There is not reinforcemnt element for stirrups !"); } XEP_BaseEmdFile.CheckName(reinfElem.Name, XEP_EmdNames.s_KeyReinforcement); return(reinfElem); }