예제 #1
0
        private CircleImage GetPhoto(KeyValuePair <string, string> s, bool isStudent)
        {
            Stream studentstream;

            if (isStudent)
            {
                studentstream = Attendance.GetStudentPhoto(s.Key);
            }
            else
            {
                studentstream = Attendance.GetTeacherPhoto(s.Key);
            }

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

            if (studentstream == null)
            {
                profilePicture = new CircleImage {
                    Source = "blankprofile.png", HeightRequest = 50, WidthRequest = 50
                };
            }
            return(profilePicture);
        }
예제 #2
0
        public TeacherProfile(HymnsAttendance attendance, string id, string className)
        {
            Attendance = attendance;
            Id         = id;
            ClassName  = className;
            string[] teacherInfo = Attendance.GetTeacherInfo(Id);
            // name, phone, birthday
            ToolbarItem item = new ToolbarItem();

            item.Text = teacherInfo[0];

            InitializeComponent();


            var   stream         = Attendance.GetTeacherPhoto(id);
            Image profilePicture = new Image
            {
                Source = ImageSource.FromStream(() =>
                {
                    return(stream);
                })
            };

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

            storeInfo.Children.Add(profilePicture);
            Label lname = new Label {
                Text = "Teacher's Name:", TextColor = Color.SteelBlue, FontSize = 23
            };
            var ename = new Entry {
                Text = teacherInfo[0], IsReadOnly = true
            };

            storeInfo.Children.Add(lname);
            storeInfo.Children.Add(ename);

            Label lPhone = new Label {
                Text = "Teacher's Phone Number:", TextColor = Color.SteelBlue, FontSize = 23
            };
            string num    = teacherInfo[1];
            string parsed = num.Length == 0 ? "" : "(" + num.Substring(0, 3) + ")-" + num.Substring(3, 3) + "-" + num.Substring(6);
            var    ePhone = new Entry {
                Text = parsed, IsReadOnly = true
            };

            storeInfo.Children.Add(lPhone);
            storeInfo.Children.Add(ePhone);

            StackLayout slbirthday = new StackLayout()
            {
                Orientation = StackOrientation.Horizontal, Spacing = 10
            };
            int slash = teacherInfo[2].IndexOf("/");

            Label lbirthday = new Label {
                Text = "Teacher's Birthday:", TextColor = Color.SteelBlue, FontSize = 23
            };
            var ebirthdayMonth = new Entry {
                Text = teacherInfo[2].Substring(0, slash), IsReadOnly = true
            };
            Label slashText = new Label()
            {
                Text = "/", FontSize = 23, TextColor = Color.SteelBlue
            };
            var ebirthdayDay = new Entry {
                Text = teacherInfo[2].Substring(slash + 1), IsReadOnly = true
            };

            slbirthday.Children.Add(ebirthdayMonth);
            slbirthday.Children.Add(slashText);
            slbirthday.Children.Add(ebirthdayDay);

            storeInfo.Children.Add(lbirthday);
            storeInfo.Children.Add(slbirthday);


            Label lclassName = new Label {
                Text = "Teacher's Class:", TextColor = Color.SteelBlue, FontSize = 23
            };
            //for the edit
            var eclassName = new Entry {
                Text = parseName(ClassName), IsReadOnly = true
            };

            storeInfo.Children.Add(lclassName);
            storeInfo.Children.Add(eclassName);
        }
예제 #3
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
            });
        }