public bool AddPartInMarka(PartKMD PartInMarka) //добавить деталь в марку { int index = FindPartOnPosInMarka(PartInMarka.PosInMarka); // поиск детали по позиции if (index == -1) // если нет, то добавляем в массив { ArrayParts.Add(new PartKMDClass(PartInMarka)); UpdateMass(); CurrentPartIndex = ArrayParts.Count() - 1; if (PartInMarka.PosInMarka < LastPos) { for (int i = 0; i < ArrayFreePos.Count(); i++) { if (ArrayFreePos[i] == PartInMarka.PosInMarka) { ArrayFreePos.RemoveAt(i); break; } } } else { LastPos = PartInMarka.PosInMarka; } return(true); } return(false); }
public bool EditPartInMarka(int indexChangedPart, PartKMD PartInMarka) // изменить деталь в марке { if (ArrayParts[indexChangedPart].getPosInMarka() == PartInMarka.PosInMarka) { ArrayParts[indexChangedPart].setStructPart(PartInMarka); UpdateMass(); return(true); } else { int oldPos = ArrayParts[indexChangedPart].getPosInMarka(); int index = FindPartOnPosInMarka(PartInMarka.PosInMarka); // поиск детали в марке по позиции if (index == -1) // если нет, то добавляем в массив { ArrayParts[indexChangedPart].setStructPart(PartInMarka); UpdateMass(); if (PartInMarka.PosInMarka < LastPos) { for (int i = 0; i < ArrayFreePos.Count(); i++) { if (ArrayFreePos[i] == PartInMarka.PosInMarka) { ArrayFreePos.RemoveAt(i); if (oldPos == LastPos) { LastPos = LastPos - 1; } else { ArrayFreePos.Add(oldPos); } break; } } } else { LastPos = PartInMarka.PosInMarka; } return(true); } } return(false); }
private PartKMD clPart; // структура данных детали КМД public PartKMDClass(PartKMD Part) //конструктор класса ДЕТАЛИ { this.clPart = Part; }
} // получить примечание //методы получения данных детали (конец) #endregion #region Методы установки статичных данных детали //методы установки данных детали (начало) public void setStructPart(PartKMD structPart) { clPart = structPart; } // установить структуру данных детали