void SetSchedule(CollectionView view)
        {
            SetHoursStart();

            SetTimeStart();

            SetMinutes();

            SetHoursEnd();

            SetTimeEnd();

            string[] weekdays = new[] { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
            foreach (string day in weekdays)
            {
                var position = new DayRow {
                    key = day, row = 0
                };
                var positionString = JsonConvert.SerializeObject(position);
                Debug.WriteLine("POSITION: " + positionString);
                scheduleSource.Add(new Schedule
                {
                    colorValue     = Color.Black,
                    isEnabledValue = false,
                    opacityValue   = 0.5,
                    day            = day,
                    row            = positionString,
                    startHour      = hourSourceStart,
                    startMinute    = minuteSource,
                    startTime      = timeSourceStart,
                    endHour        = hourSourceEnd,
                    endMinute      = minuteSource,
                    endTime        = timeSourceEnd,
                });
            }
            view.ItemsSource   = scheduleSource;
            view.HeightRequest = scheduleSource.Count * 55;
        }
Esempio n. 2
0
        async void AddAnoherTime(System.Object sender, System.EventArgs e)
        {
            var day = await DisplayActionSheet("Select one of the following days when you would like to add another available time.", "Cancel", null, new string[] { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" });

            if (day != null && day != "" && day != "Cancel")
            {
                UserDialogs.Instance.ShowLoading("Updating your schedule...");
                var position = new DayRow {
                    key = day, row = 0
                };
                var positionString = JsonConvert.SerializeObject(position);
                Debug.WriteLine("POSITION: " + positionString);
                scheduleSource.Add(new Schedule
                {
                    colorValue     = Color.Black,
                    isEnabledValue = false,
                    opacityValue   = 0.5,
                    day            = day,
                    row            = positionString,
                    startHour      = hourSourceStart,
                    startMinute    = minuteSource,
                    startTime      = timeSourceStart,
                    endHour        = hourSourceEnd,
                    endMinute      = minuteSource,
                    endTime        = timeSourceEnd,
                });

                var tempSource = new ObservableCollection <Schedule>();

                foreach (Schedule s in scheduleSource)
                {
                    Debug.WriteLine("DAY: " + s.day);
                }

                string[] weekdays = new[] { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };

                foreach (string dayToSort in weekdays)
                {
                    var rowIndex = 0;
                    foreach (Schedule schedule in scheduleSource)
                    {
                        if (schedule.day == dayToSort)
                        {
                            var p = new DayRow {
                                key = dayToSort, row = rowIndex
                            };
                            var pString = JsonConvert.SerializeObject(p);
                            schedule.row = pString;
                            tempSource.Add(schedule);
                            rowIndex++;
                        }
                    }
                }

                scheduleSource.Clear();

                foreach (Schedule schedule in tempSource)
                {
                    scheduleSource.Add(schedule);
                }

                scheduleView.ItemsSource   = scheduleSource;
                scheduleView.HeightRequest = scheduleSource.Count * 55;
                if (!timesValidation(selectedSchedule[day]))
                {
                    //Oops, we see that one or more times in your schedule are not valid entries. Please make sure no time in your schedule overlaps.
                    await DisplayAlert("Oops", "We see that one or more times in your schedule are not valid entries. Please make sure no time in your schedule overlaps.", "OK");
                }
                UserDialogs.Instance.HideLoading();
            }
        }