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); }
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); }
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 }); }