Microsoft.Azure.Commands.Insights.EventCmdletBase.ValidateDateTimeRangeAndAdddefaults C# (CSharp) Method

ValidateDateTimeRangeAndAdddefaults() private method

Validates that the range of dates (start / end) makes sense, it is not to great (less 15 days), and adds the defaul values if needed
private ValidateDateTimeRangeAndAdddefaults ( ) : string
return string
        private string ValidateDateTimeRangeAndAdddefaults()
        {
            // EndTime is optional
            DateTime endTime = this.EndTime.HasValue ? this.EndTime.Value : DateTime.Now;

            // StartTime is optional
            DateTime startTime = this.StartTime.HasValue ? this.StartTime.Value : endTime.Subtract(this.GetDefaultQueryTimeRange());

            // Check the value of StartTime
            if (startTime > DateTime.Now)
            {
                throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, ResourcesForEventCmdlets.StartDateLaterThanNow, startTime, DateTime.Now));
            }

            // Check that the dateTime range makes sense
            if (endTime < startTime)
            {
                throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, ResourcesForEventCmdlets.EndDateEarlierThanStartDate, endTime, startTime));
            }

            // Validate start and end dates difference is reasonable (<= MaximumDateDifferenceAllowedInDays)
            var dateDifference = endTime.Subtract(startTime);
            if (dateDifference > MaximumDateDifferenceAllowedInDays)
            {
                throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, ResourcesForEventCmdlets.StartAndEndDatesTooFarAppart, MaximumDateDifferenceAllowedInDays.TotalDays, dateDifference.TotalDays));
            }

            return string.Format("eventTimestamp ge '{0:o}' and eventTimestamp le '{1:o}'", startTime.ToUniversalTime(), endTime.ToUniversalTime());
        }