private async void ButtonConfirm_Clicked(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(EntryClassName.Text))
            {
                LabelWrong.IsVisible = true;
                LabelWrong.Text      = "Tên lớp học không được bỏ trống";
            }
            else
            {
                var cls = _db.Get <Class>(c => c.Name.ToLower().Equals(EntryClassName.Text.Trim().ToLower()));
                if (cls != null)
                {
                    LabelWrong.IsVisible = true;
                    LabelWrong.Text      = "Tên lớp học bị trùng";
                }
                else
                {
                    // Get max id
                    var classes = _db.GetList <Class>(c => c.Id > 0);
                    int idMax   = classes.Select(c => c.Id).Concat(new[] { 0 }).Max();
                    // Insert new subject
                    var newClass = new Class()
                    {
                        Id = ++idMax, Name = EntryClassName.Text.Trim()
                    };
                    _db.Insert(newClass);
                    LabelWrong.IsVisible = false;
                    await Task.Delay(400);

                    ReturnResult();
                }
            }
        }
Exemplo n.º 2
0
        private async void ButtonConfirm_Clicked(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(EntrySubjectName.Text))
            {
                LabelWrong.IsVisible = true;
                LabelWrong.Text      = "Tên môn học không được bỏ trống";
            }
            else
            {
                var subject = _db.Get <Subject>(s => s.Name.ToLower().Equals(EntrySubjectName.Text.Trim().ToLower()));
                if (subject != null)
                {
                    LabelWrong.IsVisible = true;
                    LabelWrong.Text      = "Tên môn học bị trùng";
                }
                else
                {
                    // Get max id
                    var subjects = _db.GetList <Subject>(s => s.Id > 0);
                    int idMax    = subjects.Select(s => s.Id).Concat(new[] { 0 }).Max();
                    // Insert new subject
                    var newSubject = new Subject {
                        Id = ++idMax, Name = EntrySubjectName.Text.Trim()
                    };
                    _db.Insert(newSubject);
                    LabelWrong.IsVisible = false;
                    await Task.Delay(400);

                    ReturnResult();
                }
            }
        }
Exemplo n.º 3
0
        public void CountStudent(ISQLiteHelper db)
        {
            var students = db.GetList <Student>(s => s.ClassId == Id);

            Students = students?.Count() ?? 0;
            Boys     = students?.Count(s => s.Gender == 1) ?? 0;
            Girls    = Students - Boys;

            MaxStudents = db.GetSetting().MaxStudentPerClass;
            IsFull      = Students >= MaxStudents;
        }
Exemplo n.º 4
0
        public void GetReportBySemester(ISQLiteHelper db, int semester)
        {
            var students = db.GetList <Student>(s => s.ClassId == Id);
            var settings = db.GetSetting();

            Passes = 0;

            foreach (var student in students)
            {
                student.GetAvgScore(db);
                if (settings.SubjectPassScore <= (semester == 1 ? student.ScoreAvg1 : student.ScoreAvg2))
                {
                    this.Passes++;
                }
            }
            PassesPercents = (float)Passes / Students * 100;
        }
Exemplo n.º 5
0
        public void GetReportBySubject(ISQLiteHelper db, int subjectId, int semester)
        {
            var students = db.GetList <Student>(s => s.ClassId == Id);
            var settings = db.GetSetting();

            Passes = 0;

            foreach (var student in students)
            {
                student.GetScore(db, subjectId, semester);
                if (student.Score.ScoreAverage >= settings.SubjectPassScore)
                {
                    this.Passes++;
                }
            }
            PassesPercents = (float)Passes / Students * 100;
        }
Exemplo n.º 6
0
        public ClassesPageViewModel(INavigationService navigationService = null, IPageDialogService dialogService = null, ISQLiteHelper sqLiteHelper = null) :
            base(navigationService, dialogService, sqLiteHelper)
        {
            SearchToolbarItemsCommand = new DelegateCommand(SearchToolbarItemsExecute);
            SearchIconCommand         = new DelegateCommand(SearchIconExecute);
            FilterIconCommand         = new DelegateCommand(FilterIconExecute);

            var classes = sqLiteHelper.GetList <Class>(c => c.Id > 0);

            foreach (var c in classes)
            {
                c.CountStudent(sqLiteHelper);
            }
            ListClass = Classes = new ObservableCollection <Class>(classes);

            ShowSearchBox = false;
        }
Exemplo n.º 7
0
        public void GetAvgScore(ISQLiteHelper db)
        {
            var scores = db.GetList <Score>(score => score.StudentId == this.Id).ToList();

            float totalScore1 = 0;
            float totalScore2 = 0;

            foreach (var score in scores)
            {
                if (score.Semester == 1)
                {
                    totalScore1 += score.ScoreAverage;
                }
                else
                {
                    totalScore2 += score.ScoreAverage;
                }
            }
            ScoreAvg1 = (float)Math.Round(totalScore1 / (scores.Count / 2), 1);
            ScoreAvg2 = (float)Math.Round(totalScore2 / (scores.Count / 2), 1);
        }