public bool AddByTypeMarkaInMS(MarkaKMDClass sampleMarka, string desingMarka) //добавить марку в МС по образцу { int index = FindMarkaOnDesignInMS(desingMarka); // поиск марки в МС if (index == -1) // если нет, то добавляем в массив { MarkaKMD structMarka = sampleMarka.getStructMarka(); structMarka.DesignMarka = desingMarka; ArrayMarks.Add(new MarkaKMDClass(structMarka)); CurrentMarkaIndex = ArrayMarks.Count() - 1; int indexNewMarka = CurrentMarkaIndex; GetMarkaInMS(indexNewMarka).SetSrtuctSetting(sampleMarka.GetStructSetting()); foreach (PartKMDClass part in sampleMarka.GetArrayParts()) { GetMarkaInMS(indexNewMarka).AddPartInMarka(part.getStructPart()); } foreach (ZShClass zsh in sampleMarka.GetArrayZSh()) { GetMarkaInMS(indexNewMarka).AddZShInMarka(zsh.GetStructZSh()); } GetMarkaInMS(indexNewMarka).LastPos = sampleMarka.LastPos; foreach (int pos in sampleMarka.ArrayFreePos) { GetMarkaInMS(indexNewMarka).ArrayFreePos.Add(pos); } GetMarkaInMS(indexNewMarka).CurrentPartIndex = sampleMarka.CurrentPartIndex; GetMarkaInMS(indexNewMarka).CurrentZShIndex = sampleMarka.CurrentZShIndex; return(true); } return(false); }
public int CurrentZShIndex = -1; // индекс текущего СШ public MarkaKMDClass(MarkaKMD Marka) //конструктор класса МАРКИ { this.clMarkaKMD = Marka; clSetting.kofSvarka = 0.01d; // коффицент сварных швов (по умолчанию) clSetting.RazSvarka = true; clSetting.kofZinc = 0.06d; // коффицент наплава цинка (по умолчанию) clSetting.ZinkCoat = true; // осуществяется покрытие цинком (по умолчанию) }
} //установить примечание //методы установки данных МС (конец) #endregion /////////////////////////////////// #region Методы работы с марками в МС(добавить, удалить, поиск, получить марку по индексу в массиве марок) public bool AddMarkaInMS(MarkaKMD MarkaInMS) //добавить марку в МС { int index = FindMarkaOnDesignInMS(MarkaInMS.DesignMarka); // поиск марки в МС if (index == -1) // если нет, то добавляем в массив { ArrayMarks.Add(new MarkaKMDClass(MarkaInMS)); CurrentMarkaIndex = ArrayMarks.Count() - 1; return(true); } return(false); }
public bool EditMarkaInMS(int indexChangedMarka, MarkaKMD MarkaInMS) // изменить марку в МС { if (ArrayMarks[indexChangedMarka].getDesignMarka() == MarkaInMS.DesignMarka) { ArrayMarks[indexChangedMarka].setStructMarka(MarkaInMS); return(true); } else { int index = FindMarkaOnDesignInMS(MarkaInMS.DesignMarka); // поиск марки в МС с данным обозначением if (index == -1) // если нет, то добавляем в массив { ArrayMarks[indexChangedMarka].setStructMarka(MarkaInMS); return(true); } } return(false); }
} // получить примечание //методы получения данных марки (конец) #endregion #region Методы установки статичных данных марки //методы установки данных марки (начало) public void setStructMarka(MarkaKMD marka) { clMarkaKMD = marka; } //установить структуру данных марки