Advertisement
Guest User

Untitled

a guest
Dec 5th, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.43 KB | None | 0 0
  1. if (processingOptions.OptimizeMeasurementStoring)
  2. {
  3. var delta = processingOptions.OptimizeMeasurementStoringThreshold;
  4.  
  5. var externalInterface = componentInterfaceService.GetAllExternalInterfaces().FirstOrDefault(m => m.GetType().Equals(typeof(CarMediaLabExternalInterface)));
  6.  
  7. if(externalInterface != null)
  8. {
  9. CarMediaLabExternalInterface carmediaInterface = externalInterface as CarMediaLabExternalInterface;
  10. if(carmediaInterface.VehicleDistanceXMLName.Equals(measurementType.Name))
  11. {
  12. AddMessageMeasurementToComponent(component, message, measurementType);
  13. return ;
  14. }
  15. }
  16.  
  17. logger.InfoFormat("Optimize measurement storing is enabled.");
  18. var recentMeasurements = component.Measurements.Where(m => m.MeasurementTypeId == measurementType.MeasurementTypeId).OrderByDescending(m => m.MeasurementTime);
  19. if (recentMeasurements.Any())
  20. {
  21. var currentValue = message.MeasurementValue.Value;
  22. var last = recentMeasurements.First();
  23.  
  24. if (recentMeasurements.Count() < 2)
  25. {
  26. if (IsInside(currentValue, last.MeasurementValue, delta))
  27. {
  28. message.MeasurementValue = last.MeasurementValue;
  29. }
  30. }
  31. else
  32. {
  33. // Reduction of data volume (optimization)
  34. var secondLast = recentMeasurements.Skip(1).First();
  35.  
  36. if (IsInside(currentValue, last.MeasurementValue, delta))
  37. {
  38. message.MeasurementValue = last.MeasurementValue;
  39.  
  40. if (secondLast.MeasurementValue == last.MeasurementValue)
  41. {
  42. component.Measurements.Remove(last);
  43.  
  44. if (!last.IsNew)
  45. {
  46. adapter.DeleteEntity(last);
  47. }
  48. }
  49. }
  50. }
  51. }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement