private async Task InitYearData() { IsBusy = true; Years = await HttpClient.Get <ObservableCollection <int> >(Utils.YEARS_URL); MinYear = 0; MaxYear = Years.Max(); MinYear = Years.Min(); SelectedYear = MaxYear; await LoadCategories(); }
private DateTime FindPrevRelevantDate(DateTime datetime) { var relevantDateTime = new DateTime(); day = datetime.Day; month = datetime.Month; year = datetime.Year; var minDay = Days.Min(); var minMonth = Months.Min(); var minYear = Years.Min(); var minDate = new DateTime(minYear, minMonth, minDay).Date; bool subtracted = false; while (datetime.Date != minDate) { if (DaysOfWeek.Contains((int)datetime.DayOfWeek)) { relevantDateTime = datetime; break; } else { subtracted = false; } SubtractNext(Days, ref day, ref subtracted); var monthSubtracted = SubtractNext(Months, ref month, ref subtracted); if (monthSubtracted) { day = GetClosestDay(datetime, year, month); } SubtractNext(Years, ref year, ref subtracted); datetime = new DateTime(year, month, day, datetime.Hour, datetime.Minute, datetime.Second, datetime.Millisecond); } return(relevantDateTime); }