Ejemplo n.º 1
0
        public static List <Course> Reduce(CreditDeterminer creditDeterminer, List <CourseInformation> courseInfoLst, int currentTermNumber)
        {
            int passedUnitsNumber = 0;

            //create a curriculum object with specific credit
            MainCurriculum curriculum = new MainCurriculum(MainCurriculum.CreateStudentCredit(creditDeterminer.Level1, creditDeterminer.Level2));

            //update curriculm's courses properties considering student history information
            for (int i = 0; i < courseInfoLst.Count; i++)
            {
                var currentCourseInfo = courseInfoLst[i];
                var currentCourse     = curriculum.Courses[i];

                if (currentCourseInfo.Id != currentCourse.Id)
                {
                    throw new ArgumentException();
                }

                currentCourse.CodeInDesUni = currentCourseInfo.CodeInDesUni;
                currentCourse.CorrespondingTitleInDesUni = currentCourseInfo.CorrespondingTitleInDesUni;

                if (currentCourseInfo.IsPassed)
                {
                    currentCourse.IsPassed = true;
                    passedUnitsNumber     += currentCourse.Units;
                }
                else if (currentCourseInfo.NumberOfFailed > 1)
                {
                    currentCourse.NumberOfFailed = 2;
                }
            }

            return(Reduce(curriculum, currentTermNumber, passedUnitsNumber));
        }
Ejemplo n.º 2
0
        private void LoadData(string titleBar, Tuple <string, int>[] arr, RoutedEventHandler method, Visibility btnNextVisibility, Visibility btnPrevVisibility)
        {
            try
            {
                CreditDeterminer creditDeterminer = null;
                if (File.Exists(DirectoryManager.EssentialInforamtion1Directory + DirectoryManager.CreditDeterminerSavedName))
                {
                    FileServiceProvider.DeserializeFromXmlFile(DirectoryManager.EssentialInforamtion1Directory + DirectoryManager.CreditDeterminerSavedName, out creditDeterminer);
                }
                else
                {
                    creditDeterminer = new CreditDeterminer
                    {
                        Level1 = CurriculumWpfClientMiddleware.DefaultLevel1Value,
                        Level2 = CurriculumWpfClientMiddleware.DefaultLevel2Value,
                    };
                    FileServiceProvider.SerializeToXmlFile(DirectoryManager.EssentialInforamtion1Directory + DirectoryManager.CreditDeterminerSavedName, creditDeterminer);
                }

                wrapPanelList.Children.Clear();
                txtblockTitleBar.Text = titleBar;

                for (int i = 0; i < arr.Length; i++)
                {
                    Badged badged = new Badged();
                    badged.Badge  = (i + 1).ToString();
                    badged.Margin = new Thickness(15);
                    badged.Name   = "bdg" + arr[i].Item2;

                    Button button = new Button();
                    button.Content = arr[i].Item1;
                    button.Name    = "btn" + arr[i].Item2;

                    if (creditDeterminer.Level1 == arr[i].Item2 || creditDeterminer.Level2 == arr[i].Item2)
                    {
                        button.SetResourceReference(Button.BackgroundProperty, "PrimaryHueMidBrush");
                    }
                    else
                    {
                        button.Background = Brushes.Transparent;
                    }


                    button.Click  += method;
                    badged.Content = button;

                    wrapPanelList.Children.Add(badged);
                }

                btnNext.Visibility = btnNextVisibility;
                btnPrev.Visibility = btnPrevVisibility;
            }
            catch { }
        }