public ECU Build(IEcuObj ecuInput) { ECU ecu = null; EcuObj ecuObj = ecuInput as EcuObj; if (ecuObj != null) { ecu = new ECU(); ecu.ID_SG_ADR = (long)ecuObj.EcuIdentifier.DiagAddrAsInt; ecu.TITLE_ECUTREE = ecuObj.EcuRep; ecu.ECU_SGBD = ecuObj.EcuVariant; ecu.VARIANTE = ecuObj.EcuVariant; ecu.ECU_GRUPPE = ecuObj.EcuGroup; ecu.ECU_GROBNAME = ecuObj.BaseVariant; //ecu.XepEcuClique = ecuObj.XepEcuClique; //ecu.ECUTitle = ((ecuObj.XepEcuClique != null) ? ecuObj.XepEcuClique.Title : string.Empty); //ecu.XepEcuVariant = ecuObj.XepEcuVariant; ecu.ProgrammingVariantName = ecuObj.BnTnName; ecu.StatusInfo = ecuObj.EcuStatusInfo; } #if false if (ecu.XepEcuVariant == null) { this.vdc.FillEcuNames(ecu, this.vehicle, this.ffmResolver); } #endif return(ecu); }
public IEcuObj Build(IPsdzEcu ecuInput) { if (ecuInput == null) { return(null); } EcuObj ecuObj = new EcuObj(); ecuObj.BaseVariant = ecuInput.BaseVariant; ecuObj.EcuVariant = ecuInput.EcuVariant; ecuObj.BnTnName = ecuInput.BnTnName; ecuObj.GatewayDiagAddrAsInt = ((ecuInput.GatewayDiagAddr != null) ? new int?(ecuInput.GatewayDiagAddr.Offset) : null); ecuObj.DiagnosticBus = this.busEnumMapper.GetValue(ecuInput.DiagnosticBus); ecuObj.SerialNumber = ecuInput.SerialNumber; ecuObj.EcuIdentifier = this.Build(ecuInput.PrimaryKey); ecuObj.StandardSvk = this.Build(ecuInput.StandardSvk); ecuObj.BusConnections = ((ecuInput.BusConnections != null) ? ecuInput.BusConnections.Select(new Func <PsdzBus, Bus>(this.busEnumMapper.GetValue)).ToList <Bus>() : null); ecuObj.EcuDetailInfo = ((ecuInput.EcuDetailInfo != null) ? new EcuObjDetailInfo(ecuInput.EcuDetailInfo.ByteValue) : null); ecuObj.EcuStatusInfo = ((ecuInput.EcuStatusInfo != null) ? new EcuObjStatusInfo(ecuInput.EcuStatusInfo.ByteValue, ecuInput.EcuStatusInfo.HasIndividualData) : null); ecuObj.EcuPdxInfo = this.Build(ecuInput.PsdzEcuPdxInfo); PdszDatabase database = ClientContext.GetDatabase(this.vehicle); if (database != null) { string bnTnName = ecuInput.BnTnName; IEcuIdentifier ecuIdentifier = ecuObj.EcuIdentifier; PdszDatabase.EcuVar ecuVar = database.FindEcuVariantFromBntn(bnTnName, (ecuIdentifier != null) ? new int?(ecuIdentifier.DiagAddrAsInt) : null, this.vehicle, this.ffmResolver); if (ecuVar != null && !string.IsNullOrEmpty(ecuVar.Name)) { //ecuObj.XepEcuVariant = xep_ECUVARIANTS; ecuObj.EcuVariant = ecuVar.Name.ToUpper(CultureInfo.InvariantCulture); PdszDatabase.EcuClique ecuClique = database.FindEcuClique(ecuVar); //ecuObj.XepEcuClique = ecuClique; PdszDatabase.EcuGroup ecuGroup = database.FindEcuGroup(ecuVar, this.vehicle, this.ffmResolver); if (ecuGroup != null) { ecuObj.EcuGroup = ecuGroup.Name.ToUpper(CultureInfo.InvariantCulture); } PdszDatabase.EcuReps ecuReps = database.FindEcuRep(ecuClique); if (ecuReps != null) { ecuObj.EcuRep = ecuReps.EcuShortcut; } } } return(ecuObj); }