private static DateTime? ResolveDefaultDateTime(DefaultDateValues defaultDateValue, DefaultTimeValues defaultTimeValue)
        {
            DateTime returnedValue;
            DateTime now = LocalizationUtility.ConvertUtcTimeToClientTime(DateTime.UtcNow);
            switch (defaultDateValue)
            {
                case DefaultDateValues.FirstDayOfMonth:
                    returnedValue = new DateTime(now.Year, now.Month, 1);
                    break;

                case DefaultDateValues.FirstDayOfWeek:
                    int dayOfWeek = (int)now.DayOfWeek;
                    if (dayOfWeek == 0) return now.AddDays(-6d);
                    returnedValue = now.AddDays(dayOfWeek - 1);
                    break;

                case DefaultDateValues.FirstDayOfYeay:
                    returnedValue = new DateTime(now.Year, 1, 1);
                    break;

                case DefaultDateValues.Today:
                    returnedValue = now;
                    break;

                default:
                    return (DateTime?)null;
            }

            switch (defaultTimeValue)
            {
                case DefaultTimeValues.None:
                    return returnedValue;

                case DefaultTimeValues.Now:
                    return returnedValue.Add(new TimeSpan(0, now.Hour, now.Minute, now.Second, now.Millisecond));

                default:
                    string s = defaultTimeValue.ToString().Substring(1);
                    int hourNumber;
                    if (int.TryParse(s, out hourNumber))
                        returnedValue = returnedValue.AddHours(hourNumber);

                    return returnedValue;
            }
        }
        private static DateTime? ResolveDefaultDateTime(DefaultDateValues defaultDateValue)
        {
            DateTime now = LocalizationUtility.ConvertUtcTimeToClientTime(DateTime.UtcNow);
            switch (defaultDateValue)
            {
                case DefaultDateValues.FirstDayOfMonth:
                    return new DateTime(now.Year, now.Month, 1);

                case DefaultDateValues.FirstDayOfWeek:
                    int dayOfWeek = (int)now.DayOfWeek;
                    if (dayOfWeek == 0) return now.AddDays(-6d);
                    return now.AddDays(dayOfWeek - 1);

                case DefaultDateValues.FirstDayOfYeay:
                    return new DateTime(now.Year, 1, 1);

                case DefaultDateValues.Today:
                    return now;

                default:
                    return (DateTime?)null;
            }
        }