public GroupPanelItem(@group2 g)
        {
            InitializeComponent();
            this.g          = g;
            nameTxtBox.Text = g.name;
            var students = S.DB.student.Local.Where(student => student.cid == g.cid && student.gid == g.gid).ToArray();

            listBox.ItemsSource = new ObservableCollection <student2>(students);
        }
Пример #2
0
        private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
        {
            int k = S.DB.group.Where(group => group.cid == cid).Select(group => group.gid).Max();
            var g = new @group2()
            {
                cid  = cid,
                gid  = S.DB.group.Where(group => group.cid == cid).Select(group => group.gid).Max() + 1,
                name = "새로운 조"
            };

            S.DB.group.Add(g);
            S.DB.SaveChanges();
            AddGroupPanel(g);
        }
Пример #3
0
 private string GetName(object obj)
 {
     if (obj is student2)
     {
         student2 s   = ((student2)obj);
         int      cnt = S.DB.history.Count(history => history.sid == s.sid);
         return($"{s.num:D2}. {s.name} ({cnt})");
     }
     if (obj is @group2)
     {
         @group2 g = ((@group2)obj);
         return($"{g.name}");
     }
     return("");
 }
Пример #4
0
        private void AddGroupPanel(@group2 g)
        {
            var gp = new GroupPanelItem(g);

            gp.RemoveGroup += (o, students1) =>
            {
                foreach (var student in students1)
                {
                    student.gid = -1;
                    localStudents.Add(student);
                }
                groupPanel.Children.Remove((GroupPanelItem)o);
            };
            groupPanel.Children.Add(gp);
        }
Пример #5
0
        private void SelGroup(object sender, RoutedEventArgs e)
        {
            @group2[] gPool = GetGroupPool();
            @group2   g     = gPool[rand.Next(gPool.Length)];

            ShowDynamicResults(gPool, g, new Action(() =>
            {
                if (pickedGroups.Contains(g) == false)
                {
                    pickedGroups.Add(g);
                }
            }), new Action(() =>
            {
                SelectStudentGroup(g);
                LoadGroups();
            }));
        }
Пример #6
0
        private void SelectStudentGroup(@group2 g)
        {
            student2[]    ss    = S.DB.student.Where(s => s.cid == cid && s.gid == g.gid).ToArray();
            var           panel = NamePanel;
            List <object> objs  = new List <object>();

            foreach (object obj in panel.Children)
            {
                if (obj is ToggleButton)
                {
                    if (((ToggleButton)obj).Tag is student2)
                    {
                        student2 s = ((ToggleButton)obj).Tag as student2;
                        ((ToggleButton)obj).IsChecked = ss.Contains(s);
                    }
                }
            }
        }