public override DataFilter GetDataFilter()
        {
            base.GetDataFilter();
            FilterDateTimeRange f = (FilterDateTimeRange)filter;

            f.SetData(f.FromDate.Add(new TimeSpan(spbHoursFrom.ValueAsInt, spbMinutesFrom.ValueAsInt, 0)),
                      f.ToDate.Add(new TimeSpan(spbHoursTo.ValueAsInt, spbMinutesTo.ValueAsInt, 0)),
                      f.TimeRange);

            return(f.GetDataFilter());
        }
        protected override void OnFilterChanging()
        {
            base.OnFilterChanging();

            FilterDateTimeRange f = (FilterDateTimeRange)filter;

            spbHoursFrom.Value   = f.FromTime.Hours;
            spbMinutesFrom.Value = f.FromTime.Minutes;
            spbHoursTo.Value     = f.ToTime.Hours;
            spbMinutesTo.Value   = f.ToTime.Minutes;
        }
        public override void ClearFilter()
        {
            FilterDateTimeRange f = (FilterDateTimeRange)filter;

            f.SetData(f.FromDate.Add(new TimeSpan(spbHoursFrom.ValueAsInt, spbMinutesFrom.ValueAsInt, 0)),
                      f.ToDate.Add(new TimeSpan(spbHoursTo.ValueAsInt, spbMinutesTo.ValueAsInt, 0)),
                      f.TimeRange);

            base.ClearFilter();

            txtFrom.Text = filter.FromDate == DateTime.MinValue ?
                           string.Empty : BusinessDomain.GetFormattedDate(filter.FromDate);
            txtTo.Text = filter.ToDate == DateTime.MinValue ?
                         string.Empty : BusinessDomain.GetFormattedDate(filter.ToDate);
        }
        public ReportFilterDateTimeRange(FilterDateTimeRange filter)
            : base(filter)
        {
            spbHoursFrom = new SpinButton(0, 23, 1)
            {
                WidthChars = 2, Numeric = true, Xalign = 1
            };
            spbHoursFrom.ValueChanged += spbHoursFrom_ValueChanged;
            textWidgets.PackStart(spbHoursFrom, false, false, 4);
            textWidgets.ReorderChild(spbHoursFrom, 2);

            textWidgets.ReorderChild(AddTimeSeparator(textWidgets), 3);

            spbMinutesFrom = new SpinButton(0, 59, 1)
            {
                WidthChars = 2, Numeric = true, Xalign = 1
            };
            spbMinutesFrom.ValueChanged += spbMinutesFrom_ValueChanged;
            textWidgets.PackStart(spbMinutesFrom, false, false, 0);
            textWidgets.ReorderChild(spbMinutesFrom, 4);

            spbHoursTo = new SpinButton(0, 23, 1)
            {
                Value = 23, WidthChars = 2, Numeric = true, Xalign = 1
            };
            spbHoursTo.ValueChanged += spbHoursTo_ValueChanged;
            textWidgets.PackStart(spbHoursTo, false, false, 6);

            AddTimeSeparator(textWidgets);

            spbMinutesTo = new SpinButton(0, 59, 1)
            {
                Value = 59, WidthChars = 2, Numeric = true, Xalign = 1
            };
            spbMinutesTo.ValueChanged += spbMinutesTo_ValueChanged;
            textWidgets.PackStart(spbMinutesTo, false, false, 0);
            filter.ToTime = new TimeSpan(23, 59, 0);
        }
Ejemplo n.º 5
0
 public static IQueryable <T> WhereInRange <T>(this IQueryable <T> src, FilterDateTimeRange r, Expression <Func <T, DateTime?> > memberFn) => src.Where(r.RangeFilter(memberFn));