public MDPart GetPart(string partNumber) { try { return(PartsDataBase?.GetPart(partNumber)); } catch (Exception ex) { Logger.WriteLine($"Add part {partNumber} error.", ex); return(null); } }
public void Dispose() { PartsDataBase?.Close(); ExcelExtension?.CloseExcelFile(); }
/// <summary> /// /// </summary> /// <param name="Project"></param> /// <param name="eplPartProperties"></param> /// <returns>true if successed</returns> public bool InsertPart(EplPartProperties eplPartProperties, PartAction action) { try { MDPart part = GetPart(eplPartProperties.PartNumber); if (part != null) { switch (action) { case PartAction.OVERRIDE: PartsDataBase.RemovePart(part); part = AddPart(eplPartProperties.PartNumber); break; case PartAction.UPDATE: break; case PartAction.SKIP: return(true); } } else { part = AddPart(eplPartProperties.PartNumber); } if (part == null) { Logger.WriteLine("Add new part failed."); return(false); } part.GenericProductGroup = MDPartsDatabaseItem.Enums.ProductTopGroup.Electric; part.ProductGroup = MDPartsDatabaseItem.Enums.ProductGroup.Common; part.ProductSubGroup = MDPartsDatabaseItem.Enums.ProductSubGroup.Common; part.Properties.ARTICLE_SUPPLIER = eplPartProperties.Supplier; part.Properties.ARTICLE_NOTE = eplPartProperties.Description; part.Properties.ARTICLE_MANUFACTURER = eplPartProperties.Manufacturer; part.Properties.ARTICLE_ORDERNR = eplPartProperties.OrderNumber; part.Properties.ARTICLE_QUANTITYUNIT = eplPartProperties.Unit; part.Properties.ARTICLE_PACKAGINGQUANTITY = eplPartProperties.Quantity; part.Properties.ARTICLE_MACRO = eplPartProperties.Macro; part.Properties.ARTICLE_CHARACTERISTICS = eplPartProperties.Characteristic; part.Properties.ARTICLE_PACKAGINGPRICE_1 = eplPartProperties.Price; part.Properties.ARTICLE_REPORT_SYMBOL[1] = eplPartProperties.Symbol; part.Properties.ARTICLE_GROUPNUMBER = eplPartProperties.PartGroup; part.Properties.ARTICLE_VOLTAGE = eplPartProperties.Voltage; part.Properties.ARTICLE_VOLTAGETYPE = eplPartProperties.VoltageType; part.Properties.ARTICLE_ELECTRICALCURRENT = eplPartProperties.Current; part.Properties.ARTICLE_TRIGGERCURRENT = eplPartProperties.TrippingCurrent; part.Properties.ARTICLE_CONNECTIONCROSSSECTION = eplPartProperties.ConnectionPointCrossSection; part.Properties.ARTICLE_ELECTRICALPOWER = eplPartProperties.SwitchingCapacity; part.Properties.ARTICLE_POWERDISSIPATION = eplPartProperties.MaxPowerDissipation; if (eplPartProperties.PartFreeProperties != null) { for (int i = 0; i < eplPartProperties.PartFreeProperties.Count; i++) { part.Properties.ARTICLE_FREE_DATA_DESCRIPTION[i + 1] = eplPartProperties.PartFreeProperties[i].Description; part.Properties.ARTICLE_FREE_DATA_VALUE[i + 1] = eplPartProperties.PartFreeProperties[i].Value; part.Properties.ARTICLE_FREE_DATA_UNIT[i + 1] = eplPartProperties.PartFreeProperties[i].Unit; } } Logger.WriteLine($"Create part: {eplPartProperties.PartNumber} successfully."); return(true); } catch (Exception e) { OnExceptionThrown?.Invoke($"Insert Part {eplPartProperties.PartNumber} error."); Logger.WriteLine("InsertPart error.", e); return(false); } }