Пример #1
0
        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);
            }
        }
Пример #2
0
 public LexiaTraceVinPersistency(PsaTraceInfo psaTraceInfo)
 {
     if (psaTraceInfo == null)
     {
         throw new ArgumentNullException("psaTraceInfo");
     }
     this.psaTraceInfo = psaTraceInfo;
 }
Пример #3
0
 public LexiaGraphVinPersistency(PsaTraceInfo traceInfo)
 {
     if (traceInfo == null)
     {
         throw new ArgumentNullException("traceInfo");
     }
     this.traceInfo = traceInfo;
 }
Пример #4
0
 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();
 }
Пример #5
0
        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));
            }
        }
Пример #6
0
        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);
            }
        }