Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
        private PartKMD clPart;           // структура данных детали КМД

        public PartKMDClass(PartKMD Part) //конструктор класса ДЕТАЛИ
        {
            this.clPart = Part;
        }
Ejemplo n.º 4
0
        }                                               // получить примечание

        //методы получения данных детали (конец)
        #endregion

        #region Методы установки статичных данных детали
        //методы установки данных детали (начало)
        public void setStructPart(PartKMD structPart)
        {
            clPart = structPart;
        }                                                                    // установить структуру данных детали