Exemplo n.º 1
0
        private void Edit_Click(object sender, RoutedEventArgs e)
        {
            Button           clicked  = (Button)e.Source;
            List <UIElement> children = GetChildrenInRow(Grid.GetRow(clicked), gridStudents);

            TextBlock nameBox  = (TextBlock)children[0];
            TextBlock gradeBox = (TextBlock)children[1];
            TextBlock eBookBox = (TextBlock)children[2];

            StudentInfo studentInfo = new StudentInfo()
            {
                Name  = nameBox.Text,
                Grade = !gradeBox.Text.Equals("K") ? int.Parse(gradeBox.Text) : 0,
                EBook = (EBook)eBookBox.DataContext
            };

            info.Remove(studentInfo);

            string name  = studentInfo.Name;
            string eBook = studentInfo.EBook?.Name;

            studentInfo = AddStudentWindow.PollInformation(studentInfo);

            if (studentInfo != null)
            {
                nameBox.Text         = studentInfo.Name;
                nameBox.DataContext  = studentInfo;
                gradeBox.Text        = studentInfo.Grade != 0 ? studentInfo.Grade + "" : "K";
                eBookBox.Text        = studentInfo.EBook.Name;
                eBookBox.DataContext = studentInfo.EBook;

                info.Add(studentInfo);
                Save();

                if (!studentInfo.EBook.Name.Equals(eBook))
                {
                    Print.AddAction(name, eBook, PrintAction.RemoveEBook, DateTime.Now);
                    Print.AddAction(studentInfo.Name, studentInfo.EBook.Name, PrintAction.GrantEBook, DateTime.Now);
                }
            }
            else
            {
                Print.AddAction(name, eBook, PrintAction.RemoveEBook, DateTime.Now);

                RowDefinition def = (RowDefinition)gradeBox.DataContext;

                foreach (UIElement item in children)
                {
                    gridStudents.Children.Remove(item);
                }

                gridStudents.RowDefinitions.Remove(def);

                Save();
            }
        }
Exemplo n.º 2
0
        private void View_Click(object sender, RoutedEventArgs e)
        {
            Button           clicked  = (Button)e.Source;
            List <UIElement> children = GetChildrenInRow(Grid.GetRow(clicked), gridStudents);

            TextBlock   eBookBox = (TextBlock)children[2];
            TextBlock   si       = (TextBlock)children[0];
            StudentInfo info     = (StudentInfo)si.DataContext;

            EBook book = (EBook)eBookBox.DataContext;

            if (book != null)
            {
                string name = book.Name;
                info.EBook = RedeemEBookWindow.RedeemEBook(book);

                if (info.EBook != null)
                {
                    eBookBox.Text        = book.Name;
                    eBookBox.DataContext = book;
                }
                else
                {
                    eBookBox.Text        = "";
                    eBookBox.DataContext = null;

                    Print.AddAction(((TextBlock)children[0]).Text, name, PrintAction.RemoveEBook, DateTime.Now);
                }

                Save();
            }
            else
            {
                MessageBox.Show("This student has no E-Book. Press Edit to add one.", "No E-Book", MessageBoxButton.OK, MessageBoxImage.Asterisk);
            }
        }
Exemplo n.º 3
0
        private void CreateStudentElement(StudentInfo studentInfo, bool addToList = true)
        {
            RowDefinition def = new RowDefinition()
            {
                Height = new GridLength()
            };

            gridStudents.RowDefinitions.Add(def);

            TextBlock nameTxt = new TextBlock()
            {
                Text = studentInfo.Name, FontSize = 16, Margin = new Thickness(0, 10, 0, 0)
            };
            TextBlock gradeTxt = new TextBlock()
            {
                Text = (studentInfo.Grade == 0 ? "K" : "" + studentInfo.Grade), FontSize = 16, Margin = new Thickness(0, 10, 0, 0)
            };
            TextBlock ebookCodeTxt = new TextBlock()
            {
                Text = studentInfo.EBook?.Name, FontSize = 16, Margin = new Thickness(0, 10, 0, 0)
            };

            ebookCodeTxt.DataContext = studentInfo.EBook;
            nameTxt.DataContext      = studentInfo;
            gradeTxt.DataContext     = def;

            Grid actions = new Grid();

            actions.RowDefinitions.Add(new RowDefinition());
            actions.RowDefinitions.Add(new RowDefinition());

            Button edit = new Button()
            {
                Content = "Edit"
            };

            edit.Style  = FindResource("btn-slick-tiny") as Style;
            edit.Click += Edit_Click;

            Button view = new Button()
            {
                Content = "E-Book"
            };

            view.Style  = FindResource("btn-slick-tiny") as Style;
            view.Click += View_Click;

            int row = gridStudents.RowDefinitions.Count - 1;

            Grid.SetRow(nameTxt, row);
            Grid.SetRow(gradeTxt, row);
            Grid.SetRow(ebookCodeTxt, row);
            Grid.SetRow(edit, row);
            Grid.SetRow(view, row);

            Grid.SetColumn(nameTxt, 0);
            Grid.SetColumn(gradeTxt, 1);
            Grid.SetColumn(ebookCodeTxt, 2);
            Grid.SetColumn(edit, 3);
            Grid.SetColumn(view, 4);

            gridStudents.Children.Add(nameTxt);
            gridStudents.Children.Add(gradeTxt);
            gridStudents.Children.Add(ebookCodeTxt);
            gridStudents.Children.Add(edit);
            gridStudents.Children.Add(view);

            if (addToList)
            {
                info.Add(studentInfo);
                Print.AddAction(studentInfo.Name, studentInfo.EBook.Name, PrintAction.GrantEBook, DateTime.Now);
            }

            Save();
        }