Exemple #1
0
        //изменение поля с выбором факультета
        async void PickerFaculty_SelectedIndexChanged(object sender, EventArgs e)
        {
            Picker pic = (Picker)sender;

            selectedFaculty = pic.SelectedItem.ToString(); //сохранение факультета

            //сохранение данных, если вдруг произойдет ошибка,
            //тогда можно будет сделать повторный запрос с этими данными
            this.sender           = sender;
            this.e                = e;
            againButtonClickedFor = PickerFaculty_SelectedIndexChanged;

            //Если выбран студент
            if (!isTeacher)
            {
                List <string> groups = new List <string>();

                //Ожидается выполнение асинхронного метода, так как данные уже нужны
                groups = await LoadGroupsAsync();

                if (groups.Count == 0)
                {
                    return;
                }
                HideActivityIndicator(); //скрыть анимацию загрузки

                headerForPicker = new Label
                {
                    Text      = "Выберите группу:",
                    TextColor = Color.FromRgb(38, 38, 38),
                    Margin    = new Thickness(10, 0, 0, 0),
                    FontSize  = Device.GetNamedSize(NamedSize.Medium, typeof(Label))
                };

                picker = new Picker
                {
                    Title = ""
                };
                foreach (var item in groups)
                {
                    picker.Items.Add(item);
                }

                picker.SelectedIndexChanged += PickerGroup_SelectedIndexChanged;
            }
            //Если выбран преподаватель
            else
            {
                List <string> teachers = new List <string>();

                //Ожидается выполнение асинхронного метода, так как данные уже нужны
                teachers = await LoadTeachersAsync();

                if (teachers.Count == 0)
                {
                    return;
                }
                HideActivityIndicator(); //скрыть анимацию загрузки

                headerForPicker = new Label
                {
                    Text      = "Выберите преподавателя:",
                    TextColor = Color.FromRgb(38, 38, 38),
                    Margin    = new Thickness(10, 0, 0, 0),
                    FontSize  = Device.GetNamedSize(NamedSize.Medium, typeof(Label))
                };

                picker = new Picker
                {
                    Title = ""
                };
                foreach (var item in teachers)
                {
                    picker.Items.Add(item);
                }

                picker.SelectedIndexChanged += PickerTeacher_SelectedIndexChanged;
            }

            selectGroupStackLoyaout.Children.Clear();
            selectSubgroupStackLoyaout.Children.Clear();

            selectGroupStackLoyaout.Children.Add(headerForPicker);
            selectGroupStackLoyaout.Children.Add(picker);
        }
Exemple #2
0
        //изменение поля с выбором типа пользователя
        async void PickerUserType_SelectedIndexChanged(object sender, EventArgs e)
        {
            List <string> faculties = new List <string>();

            //сохранение данных, если вдруг произойдет ошибка,
            //тогда можно будет сделать повторный запрос с этими данными
            this.sender           = sender;
            this.e                = e;
            againButtonClickedFor = PickerUserType_SelectedIndexChanged;
            //загрузка факультетов с сервера
            //Ожидается выполнение асинхронного метода, так как данные уже нужны
            faculties = await LoadFacultiesAsync();

            if (faculties.Count == 0)
            {
                return;
            }

            HideActivityIndicator(); //скрыть анимацию загрузки

            selectedGroupName = "";  //обнуляем переменные хранения значений
            selectedGroupId   = "";  //обнуляем переменные хранения значений
            selectedTeacher   = "";
            selectedSubgroup  = "";
            Picker workPicker = (Picker)sender;

            if (workPicker.SelectedIndex == 0) //Если выбран студент
            {
                isTeacher = false;
            }
            else
            {
                isTeacher = true;
            }

            headerForPicker = new Label
            {
                Text      = "Выберите факультет:",
                TextColor = Color.FromRgb(38, 38, 38),
                Margin    = new Thickness(10, 0, 0, 0),
                FontSize  = Device.GetNamedSize(NamedSize.Medium, typeof(Label))
            };

            picker = new Picker
            {
                Title = ""
            };

            foreach (var item in faculties)
            {
                picker.Items.Add(item);
            }

            picker.SelectedIndexChanged += PickerFaculty_SelectedIndexChanged;

            //Отчистка полей, если они, вдруг, заполнены
            selectFacultyStackLoyaout.Children.Clear();
            selectGroupStackLoyaout.Children.Clear();
            selectSubgroupStackLoyaout.Children.Clear();

            selectFacultyStackLoyaout.Children.Add(headerForPicker);
            selectFacultyStackLoyaout.Children.Add(picker);
        }