public static bool IsIPalette(string constructionCode, int siyoCode)
        {
            var code = BasicSpecificationDetail.GetHouseTypeCode(constructionCode, siyoCode);

            if (code == null)
            {
                throw new ApplicationException(HOUSE_TYPE_ERROR);
            }

            return(code == HouseType.IPALETTE);
        }
        public static bool IsIHead(string constructionCode, int siyoCode)
        {
            var code = BasicSpecificationDetail.GetHouseTypeCode(constructionCode, siyoCode);

            if (code == null)
            {
                throw new ApplicationException(HOUSE_TYPE_ERROR);
            }

            return
                (code == HouseType.IHEAD20 ||
                 code == HouseType.IHEAD30 ||
                 code == HouseType.IHEAD40);
        }
        //SpecificationDetailCodeまで見て何かを判定したいメソッド
        //このへんやりすぎかも・・・

        public static bool IsICubeOrISmileOrIPalette(string constructionCode, int siyoCode)
        {
            //i-smileはi-cubeと仕様がほぼ一緒なので、まとめて判断しちゃおう

            var code = BasicSpecificationDetail.GetHouseTypeCode(constructionCode, siyoCode);

            if (code == null)
            {
                throw new ApplicationException(HOUSE_TYPE_ERROR);
            }

            return(code == HouseType.ICUBE ||
                   code == HouseType.ICUBE2 ||
                   code == HouseType.ISMILE ||
                   code == HouseType.IPALETTE);
        }
        //GlassWoolコメントを記述するフラグ
        public static bool CanDrawGlassWool(string constructionCode, int siyoCode)
        {
            var code = BasicSpecificationDetail.GetHouseTypeCode(constructionCode, siyoCode);

            if (code == null)
            {
                throw new ApplicationException(HOUSE_TYPE_ERROR);
            }

            if (code == HouseType.ISMART ||
                code == HouseType.ISMART2 ||
                code == HouseType.ICUBE ||
                code == HouseType.ICUBE2 ||
                code == HouseType.ISMILE ||
                code == HouseType.IPALETTE)
            {
                return(true);
            }

            var shoureiCode = BasicSpecificationDetail.Get(constructionCode, siyoCode, "0123");

            if (shoureiCode == null)
            {
                return(false);
            }

            if (shoureiCode == "0010")
            {
                return(true);
            }

            var boukaCode = BasicSpecificationDetail.Get(constructionCode, siyoCode, "0102");

            if (boukaCode == null)
            {
                return(false);
            }

            //省令準耐火がなしか未定で、準耐火仕様が準耐火だったらTrue
            if ((shoureiCode == "0020" || shoureiCode == "9999") && boukaCode == "0030")
            {
                return(true);
            }

            return(false);
        }
        public static bool IsISmartICubeISmileIPaletteIHead4(string constructionCode, int siyoCode)
        {
            var code = BasicSpecificationDetail.GetHouseTypeCode(constructionCode, siyoCode);

            if (code == null)
            {
                throw new ApplicationException(HOUSE_TYPE_ERROR);
            }
            return
                (code == HouseType.IHEAD40 ||
                 code == HouseType.ICUBE ||
                 code == HouseType.ICUBE2 ||
                 code == HouseType.ISMILE ||
                 code == HouseType.ISMART ||
                 code == HouseType.ISMART2 ||
                 code == HouseType.IPALETTE);
        }