private void getColEnumFromConstructionEnum(EnumConstructionType item, out ColEnum colName, out ColEnum colValue) { colName = 0; colValue = 0; switch (item) { case EnumConstructionType.Wall: colName = ColEnum.WallMaterial; colValue = ColEnum.WallArea; break; case EnumConstructionType.Deck: colName = ColEnum.DeckMaterial; colValue = ColEnum.DeckArea; break; case EnumConstructionType.Ceil: colName = ColEnum.CeilMaterial; colValue = ColEnum.CeilArea; break; case EnumConstructionType.Baseboard: colName = ColEnum.BaseboardMaterial; colValue = ColEnum.BaseboardLenght; break; case EnumConstructionType.Carnice: colName = ColEnum.CarniceMaterial; colValue = ColEnum.CarniceLenght; break; case EnumConstructionType.Undefined: break; default: break; } }
/// <summary> /// Получение параметров из атрибутов блока /// </summary> private void getAttrs(BlockReference blRef) { foreach (ObjectId idAtr in blRef.AttributeCollection ) { using (var atr = idAtr.GetObject(OpenMode.ForRead) as AttributeReference) { string tag = atr.Tag.ToUpper(); // Принадлежность if (tag.Equals(Options.Instance.SupplementBlAttrTagOwner.ToUpper())) { _owner = RoomService.GetConstructionType (atr.TextString); } // Материал if (tag.Equals(Options.Instance.SupplementBlAttrTagMaterial.ToUpper())) { _material = atr.TextString.ClearString(); } // Действие if (tag.Equals(Options.Instance.SupplementBlAttrTagOperation.ToUpper())) { _operation = getOperationType(atr.TextString); } } } }
private void FillRowMaterial(Table table, int row, Room room, EnumConstructionType construction) { var materials = room.Materials.Where(m => m.Construction == construction && !string.IsNullOrWhiteSpace(m.Name)); int countMaters = materials.Count(); int maxRow = (table.Rows.Count-1) - row; if (countMaters > 0) { if (countMaters > maxRow) { //table.InsertRowsAndInherit(row + maxRow+1,2, countMaters - maxRow); table.InsertRowsAndInherit(table.Rows.Count, 2, countMaters - maxRow); maxRow = countMaters; } ColEnum colName; ColEnum colValue; getColEnumFromConstructionEnum(construction, out colName, out colValue); foreach (var item in materials) { table.Cells[row, (int)colName].TextString = item.Name; table.Cells[row, (int)colValue].TextString = item.PresentValue.ToString(); row++; } } }
public Material(string name, EnumConstructionType constrType) { _name = name; _construction = constrType; }