private static void SetTimeOptionsFromViewModel(AggDataExportViewModel aggDataExportViewModel, SignalAggregationMetricOptions options) { string[] startTime; string[] endTime; int? startHour = null; int? startMinute = null; int? endHour = null; int? endMinute = null; BinFactoryOptions.TimeOptions timeOptions = BinFactoryOptions.TimeOptions.StartToEnd; if (!String.IsNullOrEmpty(aggDataExportViewModel.StartTime) && !String.IsNullOrEmpty(aggDataExportViewModel.EndTime)) { startTime = aggDataExportViewModel.StartTime.Split(':'); startHour = Convert.ToInt32(startTime[0]); if (aggDataExportViewModel.SelectedStartAMPM.Contains("PM")) { startHour += 12; } startMinute = startTime.Length > 1 ? Convert.ToInt32(startTime[1]) : 0; endTime = aggDataExportViewModel.EndTime.Split(':'); endHour = Convert.ToInt32(endTime[0]); if (aggDataExportViewModel.SelectedEndAMPM.Contains("PM")) { endHour += 12; } endMinute = endTime.Length > 1 ? Convert.ToInt32(endTime[1]) : 0; timeOptions = BinFactoryOptions.TimeOptions.TimePeriod; } List <DayOfWeek> daysOfWeek = new List <DayOfWeek>(); if (aggDataExportViewModel.Weekends) { daysOfWeek.AddRange(new List <DayOfWeek> { DayOfWeek.Sunday, DayOfWeek.Saturday }); } if (aggDataExportViewModel.Weekdays) { daysOfWeek.AddRange(new List <DayOfWeek> { DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, DayOfWeek.Thursday, DayOfWeek.Friday }); } BinFactoryOptions.BinSize binSize = (BinFactoryOptions.BinSize)aggDataExportViewModel.SelectedBinSize; options.TimeOptions = new BinFactoryOptions( aggDataExportViewModel.StartDateDay.Value, aggDataExportViewModel.EndDateDay.Value, startHour, startMinute, endHour, endMinute, daysOfWeek, binSize, timeOptions); }
private static void SetTimeOptionsBasedOnBinSize(SignalAggregationMetricOptions options, BinFactoryOptions.BinSize binSize) { if (binSize == BinFactoryOptions.BinSize.Day) { options.StartDate = Convert.ToDateTime("10/1/2017"); options.EndDate = Convert.ToDateTime("11/1/2017"); options.TimeOptions = new BinFactoryOptions( Convert.ToDateTime("10/1/2017"), Convert.ToDateTime("11/1/2017"), null, null, null, null, new List <DayOfWeek> { DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, DayOfWeek.Thursday, DayOfWeek.Friday, DayOfWeek.Saturday, DayOfWeek.Sunday }, BinFactoryOptions.BinSize.FifteenMinute, BinFactoryOptions.TimeOptions.StartToEnd); } else if (binSize == BinFactoryOptions.BinSize.Month) { options.StartDate = Convert.ToDateTime("1/1/2017"); options.EndDate = Convert.ToDateTime("1/1/2018"); options.TimeOptions = new BinFactoryOptions( Convert.ToDateTime("1/1/2017"), Convert.ToDateTime("1/1/2018"), null, null, null, null, new List <DayOfWeek> { DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, DayOfWeek.Thursday, DayOfWeek.Friday, DayOfWeek.Saturday, DayOfWeek.Sunday }, BinFactoryOptions.BinSize.FifteenMinute, BinFactoryOptions.TimeOptions.StartToEnd); } else if (binSize == BinFactoryOptions.BinSize.Year) { options.StartDate = Convert.ToDateTime("1/1/2016"); options.EndDate = Convert.ToDateTime("1/1/2018"); options.TimeOptions = new BinFactoryOptions( Convert.ToDateTime("1/1/2016"), Convert.ToDateTime("1/1/2018"), null, null, null, null, new List <DayOfWeek> { DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, DayOfWeek.Thursday, DayOfWeek.Friday, DayOfWeek.Saturday, DayOfWeek.Sunday }, BinFactoryOptions.BinSize.FifteenMinute, BinFactoryOptions.TimeOptions.StartToEnd); } else { options.StartDate = Convert.ToDateTime("10/17/2017"); options.EndDate = Convert.ToDateTime("10/18/2017"); options.TimeOptions = new BinFactoryOptions( Convert.ToDateTime("10/17/2017"), Convert.ToDateTime("10/18/2017"), null, null, null, null, new List <DayOfWeek> { DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, DayOfWeek.Thursday, DayOfWeek.Friday, DayOfWeek.Saturday, DayOfWeek.Sunday }, BinFactoryOptions.BinSize.FifteenMinute, BinFactoryOptions.TimeOptions.StartToEnd); } if (options.SelectedXAxisType == XAxisType.TimeOfDay) { options.TimeOptions.TimeOfDayStartHour = 7; options.TimeOptions.TimeOfDayStartMinute = 0; options.TimeOptions.TimeOfDayEndHour = 10; options.TimeOptions.TimeOfDayStartHour = 0; } }
private static void SetTimeOptionsFromViewModel(AggDataExportViewModel aggDataExportViewModel, SignalAggregationMetricOptions options) { string[] startTime; string[] endTime; int? startHour = null; int? startMinute = null; int? endHour = null; int? endMinute = null; BinFactoryOptions.TimeOptions timeOptions = BinFactoryOptions.TimeOptions.StartToEnd; if (!String.IsNullOrEmpty(aggDataExportViewModel.StartTime) && !String.IsNullOrEmpty(aggDataExportViewModel.EndTime)) { startTime = aggDataExportViewModel.StartTime.Split(':'); startHour = Convert.ToInt32(startTime[0]); if (startHour == 12 && aggDataExportViewModel.SelectedStartAMPM.Contains("AM")) { startHour = 0; } if (aggDataExportViewModel.SelectedStartAMPM.Contains("PM")) { startHour += 12; } startMinute = startTime.Length > 1 ? Convert.ToInt32(startTime[1]) : 0; endTime = aggDataExportViewModel.EndTime.Split(':'); endHour = Convert.ToInt32(endTime[0]); if (endHour == 12 && aggDataExportViewModel.SelectedEndAMPM.Contains("AM")) { endHour = 0; } if (aggDataExportViewModel.SelectedEndAMPM.Contains("PM") && endHour < 12) { endHour += 12; } endMinute = endTime.Length > 1 ? Convert.ToInt32(endTime[1]) : 0; //timeOptions = BinFactoryOptions.TimeOptions.TimePeriod; aggDataExportViewModel.StartDateDay = aggDataExportViewModel.StartDateDay.Value .AddHours(startHour.Value).AddMinutes(startMinute.Value); aggDataExportViewModel.EndDateDay = aggDataExportViewModel.EndDateDay.Value .AddHours(endHour.Value).AddMinutes(endMinute.Value); } else { startHour = 0; startMinute = 0; endHour = 23; endMinute = 59; aggDataExportViewModel.EndDateDay = aggDataExportViewModel.EndDateDay.Value .AddHours(23).AddMinutes(59); } List <DayOfWeek> daysOfWeek = new List <DayOfWeek>(); if (aggDataExportViewModel.Weekends) { daysOfWeek.AddRange(new List <DayOfWeek> { DayOfWeek.Sunday, DayOfWeek.Saturday }); } if (aggDataExportViewModel.Weekdays) { daysOfWeek.AddRange(new List <DayOfWeek> { DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, DayOfWeek.Thursday, DayOfWeek.Friday }); } BinFactoryOptions.BinSize binSize = (BinFactoryOptions.BinSize)aggDataExportViewModel.SelectedBinSize; switch (aggDataExportViewModel.SelectedXAxisType) { case XAxisType.Time: { timeOptions = BinFactoryOptions.TimeOptions.StartToEnd; break; } case XAxisType.TimeOfDay: { timeOptions = BinFactoryOptions.TimeOptions.TimePeriod; break; } default: { timeOptions = BinFactoryOptions.TimeOptions.StartToEnd; break; } } options.TimeOptions = new BinFactoryOptions( aggDataExportViewModel.StartDateDay.Value, aggDataExportViewModel.EndDateDay.Value, startHour, startMinute, endHour, endMinute, daysOfWeek, binSize, timeOptions); }