コード例 #1
0
        private void InitTeachers()
        {
            var teachers = Attendance.TeachersOfGrade(ClassName);

            //Students
            for (int i = 0; i < teachers.Count; i++)
            {
                var stream = Attendance.GetTeacherPhoto(teachers[i].Key);

                CircleImage profilePicture = new CircleImage
                {
                    Source = ImageSource.FromStream(() =>
                    {
                        return(stream);
                    }),
                    HeightRequest = 50,
                    WidthRequest  = 50
                };

                if (stream == null)
                {
                    profilePicture = new CircleImage {
                        Source = "blankprofile.png", HeightRequest = 50, WidthRequest = 50
                    };
                }

                profilePicture.HorizontalOptions = LayoutOptions.Center;
                profilePicture.VerticalOptions   = LayoutOptions.Center;

                Label nameLabel = new Label()
                {
                    Text  = teachers[i].Value,
                    Style = Resources["detailTablet"] as Style
                };
                string birthday = Attendance.GetTeacherInfo(teachers[i].Key)[(int)HymnsAttendance.TeacherInfo.BIRTHDAY];

                Label birthdayLabel = new Label()
                {
                    //Text = num.Length == 0 ? "" : "(" + num.Substring(0, 3) + ")-" + num.Substring(3, 3) + "-" + num.Substring(6),
                    Text  = birthday,
                    Style = Resources["detailTablet"] as Style
                };

                int days = Attendance.TeacherGetDatesForYear(teachers[i].Key);

                float  weeks   = DateTime.Now.DayOfYear / 7.0f;
                string percent = ((int)(100 * days / weeks)).ToString() + "%";

                Label attend = new Label()
                {
                    Text  = percent,
                    Style = Resources["detailTablet"] as Style
                };

                SwipeItem editSwipeItem = new SwipeItem
                {
                    Text             = "EDIT",
                    BackgroundColor  = Color.Red,
                    CommandParameter = new Label()
                    {
                        Text = teachers[i].Key + ";" + teachers[i].Value
                    }
                };
                editSwipeItem.Invoked += TeacherSwipeItem_Clicked;

                SwipeItem infoSwipeItem = new SwipeItem
                {
                    Text             = "INFO",
                    BackgroundColor  = Color.Green,
                    CommandParameter = new Label()
                    {
                        Text = teachers[i].Key + ";" + teachers[i].Value
                    }
                };
                infoSwipeItem.Invoked += TeacherInfoSwipeItem_Clicked;

                Grid grid = new Grid()
                {
                    ColumnDefinitions = new ColumnDefinitionCollection()
                    {
                        new ColumnDefinition()
                        {
                            Width = new GridLength(2, GridUnitType.Star)
                        },
                        new ColumnDefinition()
                        {
                            Width = new GridLength(4, GridUnitType.Star)
                        },
                        new ColumnDefinition()
                        {
                            Width = new GridLength(2, GridUnitType.Star)
                        },
                        new ColumnDefinition()
                        {
                            Width = new GridLength(2, GridUnitType.Star)
                        }
                    },
                    RowDefinitions = new RowDefinitionCollection()
                    {
                        new RowDefinition()
                        {
                            Height = new GridLength(75, GridUnitType.Absolute)
                        }
                    },
                    BackgroundColor = Color.White
                };

                grid.Children.Add(profilePicture, 0, 0);
                grid.Children.Add(nameLabel, 1, 0);
                grid.Children.Add(birthdayLabel, 2, 0);
                grid.Children.Add(attend, 3, 0);

                List <SwipeItem> swipeItems = new List <SwipeItem>()
                {
                    editSwipeItem, infoSwipeItem
                };

                SwipeView swipeView = new SwipeView
                {
                    RightItems = new SwipeItems(swipeItems),
                    Content    = grid
                };
                InfoStack.Children.Add(swipeView);
                if (i != teachers.Count - 1)
                {
                    InfoStack.Children.Add(new BoxView
                    {
                        Color             = Color.LightGray,
                        BackgroundColor   = Color.LightGray,
                        HeightRequest     = 0.5,
                        HorizontalOptions = LayoutOptions.FillAndExpand,
                        VerticalOptions   = LayoutOptions.Center
                    });
                }
            }

            InfoStack.Children.Add(new BoxView
            {
                Color             = Color.LightGray,
                BackgroundColor   = Color.LightGray,
                HeightRequest     = 25,
                HorizontalOptions = LayoutOptions.FillAndExpand,
                VerticalOptions   = LayoutOptions.Center
            });
        }