public List <string> GetPressureRowLabels(int rangeTypeIndex, int classIndex) { List <string> row = new List <string>(); if (pressSystemInfo == null) { return(row); } RangeTypeEnum rangeType = RangeTypeFromLabel(RangeTypesLabels[rangeTypeIndex]); float precision = Convert.ToSingle(Classes[classIndex]); PressureRow pressureRow = new PressureRow(rangeType, pressSystemInfo, precision); List <int> pressRow = pressureRow.GetPressureRow(); if (pressRow != null) { foreach (int item in pressRow) { row.Add(GetPressLabel(item)); } } else { row.Add("-----"); } return(row); }
public void CheckRangeSupport(IDevice device) { if (device.Range.RangeType != RangeTypeEnum.DV) { bool result = pressSystemInfo.CheckRange(device.Range.Max_Pa, device.Range.Min_Pa); if (!result) { throw new DeviceNotSupportByPsysException("Диапазон изделия превышает диапазон пневмосистемы"); } } else { if (!pressSystemInfo.CheckRange(0, device.Range.Max_Pa)) { throw new DeviceNotSupportByPsysException("Диапазон изделия превышает диапазон пневмосистемы"); } } var pressureRow = new PressureRow(device.Range.RangeType, pressSystemInfo, device.Precision); if (pressureRow.SearshController(device.Range.Max_Pa, device.Range.Min_Pa, device.Range.Max_Pa, device.Precision) < 0) { throw new DeviceNotSupportByPsysException("Система не может обеспечить точность установки давления"); } }