/// <summary> /// /// </summary> /// <param name="e"></param> protected virtual void loadPrimitiveParams(XmlElement e) { XmlNode xn = e.SelectSingleNode("structure"); if (xn != null) { categories = new StructCategories(xn, this.Id); } else { categories = new StructCategories(); } if (categories.Count == 0) { StructCategory.Root.Entries.Add(this.Id); categories.Add(StructCategory.Root); } try { design = e.SelectSingleNode("design").InnerText; } catch { //! _design = "標準"; design = "default"; } unitPrice = int.Parse(XmlUtil.SelectSingleNode(e, "price").InnerText); size = XmlUtil.ParseSize(XmlUtil.SelectSingleNode(e, "size").InnerText); PricePerArea = unitPrice / Math.Max(1, size.Width * size.Height); minHeight = 2; try { maxHeight = int.Parse(e.SelectSingleNode("maxHeight").InnerText); try { // if minHeight is not defined, use default. minHeight = int.Parse(e.SelectSingleNode("minHeight").InnerText); } catch { } } catch { // if maxHeight tag is nod find, height tag must be exist. maxHeight = int.Parse(XmlUtil.SelectSingleNode(e, "height").InnerText); } }
/// <summary> /// /// </summary> /// <param name="e"></param> protected override void loadPrimitiveParams(XmlElement e) { XmlNode xn = e.SelectSingleNode("structure"); if (xn != null) { Categories = new StructCategories(xn, this.Id); } else { Categories = new StructCategories(); } if (Categories.Count == 0) { StructCategory.Root.Entries.Add(this.Id); Categories.Add(StructCategory.Root); } try { Design = e.SelectSingleNode("design").InnerText; } catch { //! _design = "標準"; Design = "default"; } try { UnitPrice = int.Parse(XmlUtil.SelectSingleNode(e, "price").InnerText); } catch { UnitPrice = 0; } Size = new Size(1, 1); MinHeight = 2; MaxHeight = 0; }