/// <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);
            }
        }
Beispiel #2
0
        /// <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;
        }