public ExportablePsaTraceViewModel(PsaTraceInfo model) { if (model == null) { throw new ArgumentNullException("model"); } this.model = model; foreach (PsaParametersSet set in model.Trace.ParametersSets) { ExportablePsaParametersSetViewModel vm = new ExportablePsaParametersSetViewModel(set); RegisterExportableChild(vm); parametersSets.Add(vm); } containsUnrecognizedData = IsThereUnrecognizedData(model.Trace); if (containsUnrecognizedData) { SynchronizationStatus.Update(DataSynchronizationStatus.DataUnsupported); } else { SynchronizationStatus.Update(DataSynchronizationStatus.InProgress); } }
public LexiaTraceVinPersistency(PsaTraceInfo psaTraceInfo) { if (psaTraceInfo == null) { throw new ArgumentNullException("psaTraceInfo"); } this.psaTraceInfo = psaTraceInfo; }
public LexiaGraphVinPersistency(PsaTraceInfo traceInfo) { if (traceInfo == null) { throw new ArgumentNullException("traceInfo"); } this.traceInfo = traceInfo; }
internal static ITraceVinPersistency Create(PsaTraceInfo traceInfo) { if (traceInfo.Metadata.Connector == DiagnosticSystemType.Lexia) { if (traceInfo.Metadata.Subtype == PsaConnectorSubtype.Trace) { return(new LexiaTraceVinPersistency(traceInfo)); } if (traceInfo.Metadata.Subtype == PsaConnectorSubtype.Graph) { return(new LexiaGraphVinPersistency(traceInfo)); } } throw new NotImplementedException(); }
public override IEnumerable <PsaTraceInfo> GetAllTraces() { // 2. Use converter to convert LexiaTracesData to // new-style PSA TracesData foreach (LexiaTrace lTrace in GetTraces()) { LexiaTraceToPsaTraceConverter converter = new LexiaTraceToPsaTraceConverter(lTrace); PsaTrace trace = converter.Convert(); PsaTraceMetadata metadata = new PsaTraceMetadata(); metadata.Connector = DiagnosticSystemType.Lexia; metadata.SourceXmlPath = lTrace.SourceFilePath; metadata.Subtype = PsaConnectorSubtype.Trace; LexiaAdditionalFilePathSearcher searcher = new LexiaAdditionalFilePathSearcher(metadata.Subtype, lTrace.SourceFilePath); foreach (string path in searcher.Search()) { metadata.AdditionalFilePaths.Add(path); } PsaTraceInfo info = new PsaTraceInfo(trace, metadata); yield return(info); } // 3. Get LexiaGrapsData // 4. Convert it to PsaTrace foreach (LexiaGraphSession session in GetGraphsData().Sessions) { LexiaGraphToPsaTraceConverter converter = new LexiaGraphToPsaTraceConverter(session); PsaTrace trace = converter.Convert(); PsaTraceMetadata metadata = new PsaTraceMetadata(); metadata.Connector = DiagnosticSystemType.Lexia; metadata.SourceXmlPath = session.SourceFileName; metadata.Subtype = PsaConnectorSubtype.Graph; LexiaAdditionalFilePathSearcher searcher = new LexiaAdditionalFilePathSearcher(metadata.Subtype, metadata.SourceXmlPath); foreach (string path in searcher.Search()) { metadata .AdditionalFilePaths.Add(path); } yield return(new PsaTraceInfo(trace, metadata)); } }
public override IEnumerable <PsaTraceInfo> GetAllTraces() { // Trace session will be mapped to dataset? foreach (DiagBoxTraceSession session in GetTraceSessions()) { PsaTrace trace = new PsaTrace(); trace.Manufacturer = session.Manufacturer; trace.Date = session.Date; trace.Mileage = session.Mileage; trace.VehicleModelName = session.VehicleName; trace.Vin = session.Vin; foreach (LexiaGraphSessionRawData rawData in session.Data) { PsaTrace lexiaStyleTrace = LexiaGraphSessionToPsaTraceConverter.Convert(rawData); foreach (PsaParametersSet set in lexiaStyleTrace.ParametersSets) { trace.ParametersSets.Add(set); } } PsaTraceMetadata traceMetadata = new PsaTraceMetadata(); traceMetadata.Connector = Type; traceMetadata.Subtype = PsaConnectorSubtype.Graph; traceMetadata.SourceXmlPath = session.TraceSessionMainFilePath; foreach (string path in session.AdditionalFilePaths) { traceMetadata.AdditionalFilePaths.Add(path); } // TODO : implement persistency for these // traceMetadata.Mileage = // traceMetadata.Hidden = false; // traceMetadata.IsSynchronized = false; PsaTraceInfo traceInfo = new PsaTraceInfo(trace, traceMetadata); yield return(traceInfo); } }