Beispiel #1
0
 public GetProductList(PeriodFilter timeFilter, int pageNo, int pageSize, string searchText)
 {
     TimeFilter = timeFilter;
     PageNo     = pageNo;
     PageSize   = pageSize;
     SearchText = searchText;
 }
Beispiel #2
0
 public static PeriodFilter GetPeriodFilter(HttpRequest request)
 {
     if (HasYearFilter(request))
     {
         PeriodFilter filter = new PeriodFilter();
         filter.StartYear = toInt(request.QueryString[STARTYEAR]);
         filter.EndYear   = toInt(request.QueryString[ENDYEAR]);
         return(filter);
     }
     return(null);
 }
Beispiel #3
0
        private static string SerializeToUrl(PeriodFilter filter)
        {
            string result = String.Empty;

            if (filter != null)
            {
                result += addParameter(STARTYEAR, filter.StartYear);
                result += addParameter(ENDYEAR, filter.EndYear);
            }
            return(result);
        }
Beispiel #4
0
        private static string GetDateFilter(PeriodFilter filter)
        {
            switch (filter)
            {
            case PeriodFilter.Upcoming: return("AND (getutcdate() < SellStartDate)\r\n");

            case PeriodFilter.Current: return("AND (getutcdate() > SellStartDate AND getutcdate() < SellEndDate)\r\n");

            case PeriodFilter.Past: return("AND (getutcdate() > SellEndDate)\r\n");

            case PeriodFilter.All: return(string.Empty);

            default: throw new ArgumentOutOfRangeException(nameof(filter), filter, null);
            }
        }
        public ListResponse <Period> GetPeriodByFilter([FromQuery] PeriodFilter periodFilter)
        {
            if (periodFilter == null)
            {
                return(new ListResponse <Period>());
            }
            List <Period>         cycles   = PeriodService.Current.GetPeriodByFilter(periodFilter);
            ListResponse <Period> response = new ListResponse <Period>();

            if (cycles != null && cycles.Count > 0)
            {
                response.Data = cycles;
            }
            return(response);
        }
Beispiel #6
0
        internal List <Period> GetPeriodByFilter(PeriodFilter periodFilter)
        {
            List <Period> list     = new List <Period>();
            StringBuilder queryStr = new StringBuilder($@"select a.id,a.name,a.parentid,a.starttime,a.endtime,a.typeid, b.code as typecode, b.name as typename ,a.periodsetid,c.name as periodsetname, a.alias from period a inner join periodtype b on b.id = a.typeid inner join periodset c on c.id = a.periodsetid where (a.tenantid = '0' or a.tenantid = '{Utils.GetTenantId()}') ");

            if (!string.IsNullOrEmpty(periodFilter.PeriodID))
            {
                queryStr.Append($@" and a.id='{periodFilter.PeriodID}'");
            }

            if (!string.IsNullOrEmpty(periodFilter.PeriodSetID))
            {
                queryStr.Append($@" and a.periodsetid='{periodFilter.PeriodSetID}'");
            }

            if (!string.IsNullOrEmpty(periodFilter.PeriodTypeID))
            {
                queryStr.Append($@" and a.typeid='{periodFilter.PeriodTypeID}'");
            }
            else if (!string.IsNullOrEmpty(periodFilter.PeriodTypeCode))
            {
                queryStr.Append($@" and b.code='{periodFilter.PeriodTypeCode}'");
            }

            DateTime defaultDateTime = new DateTime();

            if (periodFilter.Time != null && !periodFilter.Time.Equals(defaultDateTime))
            {
                queryStr.Append($@" and a.starttime <= '{periodFilter.Time}'");
                queryStr.Append($@" and a.endtime >= '{periodFilter.Time}'");
            }
            queryStr.Append($@" Order by a.name");
            var ds = db.ExecuteDataSet(queryStr.ToString());

            if (ds != null && ds.Tables.Count != 0 && ds.Tables[0].Rows.Count > 0)
            {
                foreach (DataRow row in ds.Tables[0].Rows)
                {
                    list.Add(AssamblyPeriod(row));
                }
            }
            return(list);
        }
        public ReportsViewModel()
        {
            PeriodFilter = new PeriodFilter();
            PeriodFilter.Periods.ForEach(p => p.IsActive = true);

            RefreshReports = ReactiveCommand.CreateFromTask(async() =>
            {
                await loadDataAsync();
                calcSummary();
            });
            RefreshReports.ThrownExceptions.Subscribe(async ex => await Interactions.ShowError(ex.Message));

            PeriodFilter.PeriodChanged.Subscribe(p =>
            {
                RefreshReports.Execute().Subscribe();
            });


            TimelineDayViewModel = new TimelineDayViewModel();
        }
        public PeriodSelectorControl()
        {
            InitializeComponent();

            // init commands
            PrevDateRangeCommand   = new Command(() => PeriodFilter.PrevDateRange());
            NextDateRangeCommand   = new Command(() => PeriodFilter.NextDateRange());
            SelectDateRangeCommand = new Command(() =>
            {
                var dateFrom  = PeriodFilter.DateFrom;
                var dateUntil = PeriodFilter.DateUntil;
                if (this.ShowDateRangeSelector(ref dateFrom, ref dateUntil))
                {
                    PeriodFilter.DateFrom  = dateFrom;
                    PeriodFilter.DateUntil = dateUntil;
                }
            });

            MainPanel.DataContext = this;
        }
Beispiel #9
0
 /// <summary>
 /// Generates from & to filter dates
 /// </summary>
 /// <param name="fromDate">Output from date</param>
 /// <param name="toDate">Output to date</param>
 /// <param name="period">Period filter</param>
 /// <param name="from">Input from date</param>
 /// <param name="to">Input to date</param>
 /// <returns></returns>
 public static void GenerateFilterDates(out DateTime?fromDate, out DateTime?toDate, PeriodFilter period = PeriodFilter.ThisMonth, DateTime?from = null, DateTime?to = null)
 {
     if (period == PeriodFilter.Custom)
     {
         fromDate = from.MinTime();
         toDate   = to.MaxTime();
     }
     else if (period == PeriodFilter.Today)
     {
         fromDate = DateTime.Today.MinTime();
         toDate   = DateTime.Today.MaxTime();
     }
     else if (period == PeriodFilter.ThisWeek)
     {
         fromDate = DateTime.Now.StartOfWeek(DayOfWeek.Monday);
         toDate   = DateTime.Now;
     }
     else if (period == PeriodFilter.ThisMonth)
     {
         fromDate = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1);
         toDate   = DateTime.Now.Date.MaxTime();
     }
     else if (period == PeriodFilter.LastMonth)
     {
         fromDate = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1).AddMonths(-1);
         toDate   = fromDate.Value.AddMonths(1).AddTicks(-1);
     }
     else if (period == PeriodFilter.ThisYear)
     {
         fromDate = new DateTime(DateTime.Today.Year, 1, 1);
         toDate   = DateTime.Now;
     }
     else if (period == PeriodFilter.LastYear)
     {
         fromDate = new DateTime(DateTime.Today.Year - 1, 1, 1);
         toDate   = (new DateTime(DateTime.Today.Year - 1, 12, 31)).MaxTime();
     }
     else if (period == PeriodFilter.LastTwoYears)
     {
         fromDate = new DateTime(DateTime.Today.Year - 1, 1, 1);
         toDate   = DateTime.Now;
     }
     else if (period == PeriodFilter.LastFiveYears)
     {
         fromDate = new DateTime(DateTime.Today.Year - 4, 1, 1);
         toDate   = DateTime.Now;
     }
     else
     {
         fromDate = (DateTime?)null;
         toDate   = (DateTime?)null;
     }
 }
        public OrdersViewModel()
        {
            PeriodFilter = new PeriodFilter();
            PeriodFilter.Periods.ForEach(p => p.IsActive = true);
            PeriodFilter.PeriodChanged.Select(p => 0).InvokeCommand(LoadItems);

            Items.ShapeView().OrderBy(p => p.InTime).Apply();
            Items.ShapeView().GroupBy(p => p.InTime.Date).Apply();

            EditorViewModel = new OrderEditorViewModel();
            EditorViewModel.Save.Subscribe(id =>
            {
                if (EditorViewModel.EditingItem.InDate < PeriodFilter.StartDate ||
                    EditorViewModel.EditingItem.InDate > PeriodFilter.EndDate)
                {
                    PeriodFilter.SetManualDate(EditorViewModel.EditingItem.InTime.Date);
                }

                LoadItems.Execute(id).Subscribe();
            });

            SetReady = ReactiveCommand.Create(() =>
            {
                using (var db = DbService.GetDb())
                {
                    var manager = new OrderManager(db);
                    if (IsMultiSelect == false)
                    {
                        manager.ValidateAndSetReadiness(SelectedItem, true);
                    }
                    else
                    {
                        db.BeginTransaction();
                        manager.SetReadiness(Items.OnlySelected(), true);
                        db.CommitTransaction();
                    }
                }
            }, canMultiEdit);
            SetReady.Select(p => 0).InvokeCommand(LoadItems);
            SetReady.ThrownExceptions.Subscribe(async ex => await Interactions.ShowError(ex.Message));
            SetUnready = ReactiveCommand.Create(() =>
            {
                using (var db = DbService.GetDb())
                {
                    var manager = new OrderManager(db);
                    if (IsMultiSelect == false)
                    {
                        manager.ValidateAndSetReadiness(SelectedItem, false);
                    }
                    else
                    {
                        db.BeginTransaction();
                        manager.SetReadiness(Items.OnlySelected(), false);
                        db.CommitTransaction();
                    }
                }
            }, canMultiEdit);
            SetUnready.Select(p => 0).InvokeCommand(LoadItems);
            SwitchReadiness = ReactiveCommand.Create(() =>
            {
                EntityManagerService.DefaultOrderManager.ValidateAndSetReadiness(SelectedItem, !SelectedItem.IsClosed);
            }, canEdit);
            SwitchReadiness.Select(p => 0).InvokeCommand(LoadItems);
            SwitchReadiness.ThrownExceptions.Subscribe(async ex => await Interactions.ShowError(ex.Message));

            DaySummaryViewModel = new DaySummaryViewModel();
            ShowDaySummary      = ReactiveCommand.Create <DateTime>((day) =>
            {
                DaySummaryViewModel.Init(day);
            });

            Print = ReactiveCommand.CreateFromTask(async() =>
            {
                if (SelectedItem.IsClosed == false)
                {
                    await Interactions.ShowError("Заезд не закрыт!");
                    return;
                }
                var report = new OrderForClientReport("Reports/ReportResources/OrderForClient.frx");
                report.ShowReport(SelectedItem.ID);
            }, canEdit);
        }
 public List <Period> GetPeriodByFilter(PeriodFilter periodFilter)
 {
     return(manager.GetPeriodByFilter(periodFilter));
 }
        internal List <Period> GetPeriodByFilter(PeriodFilter periodFilter)
        {
            List <Period> cycles = dac.GetPeriodByFilter(periodFilter);

            return(cycles);
        }