예제 #1
0
 public GenerateExamApplication(CandidateInfo info, ICandidateInfoRepository candidateRepository, IInstructorRepository instructorRepository, DataGridView dgvCandidates, DataGridView dgvExamHistory, TreeView treeCandidates)
     : this(dgvCandidates, dgvExamHistory, treeCandidates)
 {
     _info = info;
     _candidateRepository  = candidateRepository;
     _instructorRepository = instructorRepository;
 }
예제 #2
0
        public MainWindow()
        {
            InitializeComponent();

            _repository = new CandidateInfoRepository();
            InitializeDataStructure();
        }
예제 #3
0
        public static void LoadCandidatesTree(TreeView root, ICandidateInfoRepository candidateRepository)
        {
            try
            {
                root.Nodes.Clear();

                var rootDirectory = new DirectoryInfo(Helper.GetOrCreateCandidatePath());

                foreach (var directory in rootDirectory.GetDirectories("*", SearchOption.TopDirectoryOnly))
                {
                    var item = new TreeNode {
                        Name = $"{directory.Name}", Text = directory.Name, Tag = "parent"
                    };
                    root.Nodes.Add(item);

                    LoadCandidates(item, directory, candidateRepository);
                }

                root.ExpandAll();
            }
            catch (Exception e)
            {
                Helper.Logger.Error($"Method: LoadCandidatesTree, {Environment.NewLine} Error: {e.Message}{Environment.NewLine}{e}");
            }
        }
예제 #4
0
        public FrmMain(ICandidateInfoRepository candidateRepository, IInstructorRepository instructorRepository)
        {
            InitializeComponent();

            _candidateRepository  = candidateRepository;
            _instructorRepository = instructorRepository;
        }
예제 #5
0
        public AddOrUpdateForm(bool isAdd, CandidateInfo info, TreeView treeView, DataGridView dgvCandidates, ICandidateInfoRepository candidateRepository, IInstructorRepository instructorRepository) : this()
        {
            SetButtons(isAdd);

            _info                 = info;
            _treeView             = treeView;
            _dgvCandidates        = dgvCandidates;
            _candidateRepository  = candidateRepository;
            _instructorRepository = instructorRepository;
        }
예제 #6
0
        private static void LoadTreeView(string rootPath, ItemsControl root, ICandidateInfoRepository repository)
        {
            root.Items.Clear();

            var rootDirectory = new DirectoryInfo(rootPath);

            foreach (var directory in rootDirectory.GetDirectories("*", SearchOption.TopDirectoryOnly))
            {
                var item = new TreeViewItem {
                    Name = $"ParentItem{directory.Name}", Header = directory.Name
                };
                root.Items.Add(item);

                LoadCandidates(item, directory, repository);
            }
        }
예제 #7
0
        private static void LoadCandidates(ItemsControl parent, FileSystemInfo parentDiectory, ICandidateInfoRepository repository)
        {
            foreach (var document in repository.GetAll(parentDiectory.FullName))
            {
                var item = new TreeViewItem
                {
                    Header      = $"{document.LastName} {document.FirstName}",
                    DataContext = document
                };

                item.Selected += (sender, args) =>
                {
                    var tvi  = (TreeViewItem)sender;
                    var grid = (Grid)((Grid)GetWindow(tvi).Content).Children[1];
                    grid.Children.Clear();

                    grid.Children.Add(new EditCandidateControl {
                        DataContext = item.DataContext
                    });
                };

                parent.Items.Add(item);
            }
        }
예제 #8
0
        private static void LoadCandidates(TreeNode parent, FileSystemInfo parentDiectory, ICandidateInfoRepository repository)
        {
            foreach (var document in repository.GetAll(parentDiectory.FullName))
            {
                var item = new TreeNode
                {
                    Text = $"{document.LastName} {document.FirstName}",
                    Tag  = document
                };

                parent.Nodes.Add(item);
            }
        }
예제 #9
0
        public AddCandidateControl()
        {
            InitializeComponent();

            _repository = new CandidateInfoRepository();
        }