private static DateTime?FindfirstCrumbDtm(AggregatedCrumData aggregatedTemperature, AggregatedCrumData aggregatedHumidty) { DateTime?firstCrumbDtm = null; if (aggregatedTemperature.FirstCrumbDtm.HasValue || aggregatedHumidty.LastCrumbDtm.HasValue) { if (!aggregatedTemperature.FirstCrumbDtm.HasValue) { aggregatedTemperature.FirstCrumbDtm = DateTime.MaxValue; } if (!aggregatedHumidty.LastCrumbDtm.HasValue) { aggregatedHumidty.LastCrumbDtm = DateTime.MinValue; } firstCrumbDtm = aggregatedTemperature.FirstCrumbDtm <= aggregatedHumidty.LastCrumbDtm ? aggregatedTemperature.FirstCrumbDtm : aggregatedHumidty.FirstCrumbDtm; } return(firstCrumbDtm); }
public static Contracts.Models.TrackerData CreateTrakerData( Company company, NormilizedTracker tracker, AggregatedCrumData aggregatedTemperature, AggregatedCrumData aggregatedHumidty) { DateTime?firstCrumbDtm = FindfirstCrumbDtm(aggregatedTemperature, aggregatedHumidty); DateTime?lastCrumbDtm = FindLastCrumbDtm(aggregatedTemperature, aggregatedHumidty); return(new Contracts.Models.TrackerData { CompanyId = company.CompanyId, CompanyName = company.CompanyName, TrackerId = tracker.TrackerId, TrackerName = tracker.TrackerName, FirstCrumbDtm = firstCrumbDtm, LastCrumbDtm = lastCrumbDtm, TempCount = aggregatedTemperature.CrumbCount, AvgTemp = aggregatedTemperature.AvgValue, HumidityCount = aggregatedHumidty.CrumbCount, AvgHumdity = aggregatedHumidty.AvgValue }); }