示例#1
0
 public StatisticsViewModel()
 {
     bookingRepository   = new BaseRepository <booking>();
     _selectedMonthIndex = DateTime.Now.Month;
     _selectedYearItem   = DateTime.Now.Year;
     Months = americanCulture.DateTimeFormat.MonthNames.Take(12).ToList();
     Months.Insert(0, "All");
     Years = Enumerable.Range(_selectedYearItem - 2, 3).ToList();
     _data = new ObservableCollection <Data>();
     Execute_DrawChart(null);
 }
        private void CachePreviousMonths()
        {
            var firstMonth = Months.First();

            for (int i = 1; i < CachedMonthCount; i++)
            {
                var monthToInsertDateTime = firstMonth.CurrentDate.AddMonths(-i);
                var monthToInsert         = new MonthViewModel(
                    monthToInsertDateTime,
                    SelectDayCommand,
                    _toDoCalendarViewModel.GetDaysWithToDoByDateAndStatus(monthToInsertDateTime, ConstantsHelper.Active),
                    _toDoCalendarViewModel.GetDaysWithToDoByDateAndStatus(monthToInsertDateTime, ConstantsHelper.Completed));
                Months.Insert(0, monthToInsert);
                Months.RemoveAt(Months.Count - 1);
            }
        }
示例#3
0
        private void month_MonthSelected(object sender, MonthSelectArgs e)
        {
            Month month = e.Month;

            if (lastMonth != null)
            {
                for (int i = 0; i < Months.Count; i++)
                {
                    if (lastMonth.SelectedDate.Month == Months[i].SelectedDate.Month)
                    {
                        if (lastMonth.SelectedDate.Day == Months[i].SelectedDate.Day)
                        {
                            lastMonth = Months[i];
                            Months.RemoveAt(i);
                            Months.Insert(i, lastMonth);
                        }
                    }
                }
            }
            lastMonth = month;
            DateTime dateTime = DateTime.Now;

            try
            {
                dateTime         = lastMonth.SelectedDate;
                SelectedDateTime = new DateTime(YearTitle, dateTime.Month, dateTime.Day);
            }
            catch (Exception)
            {
                SelectedDateTime = DateTime.Now;
            }
            finally
            {
                UpdateDays(SelectedDateTime);
                semanticzoomDate.ToggleActiveView();
            }

            this.header.MonthTitle = SelectedDateTime.Month.ToString();
            this.header.YearTitle  = SelectedDateTime.Year.ToString();
            this.MonthTitle        = SelectedDateTime.Month;
            this.YearTitle         = SelectedDateTime.Year;
        }
        private async Task InitializePreviousAndNextMonths(DateTime dateTime)
        {
            await Task.Delay(50);

            var currentDateTime = new DateTime(dateTime.Year, dateTime.Month, 1);

            for (int i = 1; i < CachedMonthCount; i++)
            {
                var previousMonthDateTime = currentDateTime.AddMonths(-i);
                var nextMonthDateTime     = currentDateTime.AddMonths(i);

                var previousMonth = new MonthViewModel(
                    previousMonthDateTime,
                    SelectDayCommand,
                    _toDoCalendarViewModel.GetDaysWithToDoByDateAndStatus(
                        previousMonthDateTime,
                        ConstantsHelper.Active),
                    _toDoCalendarViewModel.GetDaysWithToDoByDateAndStatus(
                        previousMonthDateTime,
                        ConstantsHelper.Completed));

                var nextMonth = new MonthViewModel(
                    nextMonthDateTime,
                    SelectDayCommand,
                    _toDoCalendarViewModel.GetDaysWithToDoByDateAndStatus(
                        nextMonthDateTime,
                        ConstantsHelper.Active),
                    _toDoCalendarViewModel.GetDaysWithToDoByDateAndStatus(
                        nextMonthDateTime,
                        ConstantsHelper.Completed));

                Device.BeginInvokeOnMainThread(() =>
                {
                    Months.Insert(0, previousMonth);
                    Months.Add(nextMonth);
                });
            }
        }