Пример #1
0
		private void AddElementFromXml(XElement e, OrgNode parent) {
			var orgnode = new OrgNode();
			e.Apply(orgnode);
			if (orgnode.Code.IsEmpty()) {
				throw new EcoProcessException("”злу не сопоставлен код :" + e.Describe().ToWhereString());
			}
			Add(orgnode, parent);
			foreach (var c in e.Elements("orgnode")) {
				AddElementFromXml(c, orgnode);
			}
		}
Пример #2
0
		/// <summary>
		/// </summary>
		/// <param name="node"> </param>
		/// <param name="parent"> </param>
		/// <exception cref="EcoProcessException"></exception>
		public void Add(OrgNode node, OrgNode parent = null) {
			if (Index.ContainsKey(node.Code)) {
				throw new EcoProcessException("ќрганизационна¤ структура включет в себ¤ дублирующийс¤ код узла :" + node.Code);
			}
			node.Level = 1;
			if (null != parent) {
				node.Parent = parent;
				node.Level = parent.Level + 1;
				parent.Children.Add(node);
			}
			Index[node.Code] = node;
		}