예제 #1
0
 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;
      }
 }
예제 #2
0
 /// <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);
        }
     }
      }
 }
예제 #3
0
 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++;
     }
      }
 }
예제 #4
0
 public Material(string name, EnumConstructionType constrType)
 {
     _name = name;
      _construction = constrType;
 }