public Storey(string blMountPlanName) { var indexFloor = blMountPlanName.IndexOf("эт-"); string nameStorey = string.Empty; if (indexFloor == -1) { nameStorey = blMountPlanName.Substring(Settings.Default.BlockPlaneMountingPrefixName.Length); } else { nameStorey = blMountPlanName.Substring(indexFloor + "эт-".Length); } if (string.Equals(nameStorey, Settings.Default.PaintIndexUpperStorey, StringComparison.OrdinalIgnoreCase)) { _type = EnumStorey.Upper; _number = 100; } else if (string.Equals(nameStorey, Settings.Default.PaintIndexParapet, StringComparison.OrdinalIgnoreCase)) { _type = EnumStorey.Parapet; _number = 101; } else { // число _type = EnumStorey.Number; if (!int.TryParse(nameStorey, out _number)) { throw new Exception("Не определен номер этажа по блоку монтажного плана "); } } _layer = getLayer(); }
// индекс отличия панели по виду окна, 1,2,3 и т.д. по порядку. private void defineStoreyTypePanel(BlockReference blRefPanel) { // Определение типа этажа панели if (string.Equals(blRefPanel.Layer, Settings.Default.LayerUpperStoreyPanels, StringComparison.OrdinalIgnoreCase)) { _storeyTypePanel = EnumStorey.Upper; } else if (string.Equals(blRefPanel.Layer, Settings.Default.LayerParapetPanels, StringComparison.OrdinalIgnoreCase)) { _storeyTypePanel = EnumStorey.Parapet; } }
public Storey(EnumStorey type) { _type = type; if (type == EnumStorey.Upper) { _number = 100; } if (type == EnumStorey.Parapet) { _number = 101; } _layer = getLayer(); }