public override async System.Threading.Tasks.Task ExecuteLoadSchedulesCommand() { if (IsBusy) { return; } if (!IsRefreshing) { IsBusy = true; } try { if (!Users.Any()) { var lookups = await DataService.GetLookups(1000); lookups.Users.ForEach(u => Users.Add(u)); } ScheduleDateFormatted = ScheduleDate.ToShortDateString(); OnPropertyChanged("ScheduleDateFormatted"); Schedules.Clear(); var items = await DataService.GetItemsAsync <Schedule>($"schedules?start={ScheduleDate.ToString("MM-dd-yyyy")}&end={ScheduleDate.ToString("MM-dd-yyyy")}{(CanManageSchedule ? "" : "&assigned=true")}"); NoSchedules = !items.Data.Any(); OnPropertyChanged("NoSchedules"); this.WeekUnpublished = false; foreach (var item in items.Data.OrderBy(d => d.User == null ? "zzzzzz" : d.User.FirstName)) { if (item.UserId != null && !item.PublishedValue) { this.WeekUnpublished = true; } var displayItem = new DisplayItem(); scheduleToDisplayItem(displayItem, item); Schedules.Add(displayItem); } } catch (Exception ex) { IsBusy = false; IsRefreshing = false; ExceptionHelper.ShowException(ex); } finally { IsBusy = false; IsRefreshing = false; } }
public override string ToString() { return(ScheduleDate.ToShortDateString()); }