示例#1
0
        private GradeRecord createGrage(string grade, string min, string max)
        {
            var result = new GradeRecord(_i);

            if (!string.IsNullOrEmpty(min) && !string.IsNullOrEmpty(max))
            {
                result.Grade     = grade;
                result.Range     = new Range();
                result.Range.Min = double.Parse(min);
                result.Range.Max = double.Parse(max);


                if (!result.Range.ValidateRange())
                {
                    throw new NullReferenceException(grade);
                }
            }

            else
            {
                throw new NullReferenceException(grade);
            }

            return(result);
        }
示例#2
0
        public GradeRecord[] insertDataInArrary()
        {
            //var results = new List<GradeRecord>();

            IsChecked();

            var grades = new GradeRecord[8];

            grades[0] = createGrage("A", an.Text, am.Text);
            grades[1] = createGrage("B+", bbn.Text, bbm.Text);
            grades[2] = createGrage("B", bn.Text, bm.Text);
            grades[3] = createGrage("C+", ccn.Text, ccm.Text);
            grades[4] = createGrage("C", cn.Text, cm.Text);
            grades[5] = createGrage("D+", ddn.Text, ddm.Text);
            grades[6] = createGrage("D", dn.Text, dm.Text);
            grades[7] = createGrage("F", fn.Text, fm.Text);
            //var gradeA = createGrage("A", an.Text, am.Text);
            //results.Add(gradeA);
            //var gradeBB = createGrage("B+", bbn.Text, bbm.Text);
            //results.Add(gradeBB);
            //var gradeB = createGrage("B", bn.Text, bm.Text);
            //results.Add(gradeB);
            //var gradeCC = createGrage("C+", ccn.Text, ccm.Text);
            //results.Add(gradeCC);
            //var gradeC = createGrage("C", cn.Text, cm.Text);
            //results.Add(gradeC);
            //var gradeDD = createGrage("D+", ddn.Text, ddm.Text);
            //results.Add(gradeDD);
            //var gradeD = createGrage("D", dn.Text, dm.Text);
            //results.Add(gradeD);
            //var gradeF = createGrage("F", fn.Text, fm.Text);
            //results.Add(gradeF);

            for (int i = 1; i < grades.Length; i++)
            {
                var gradeR = grades[i - 1];
                var gradeL = grades[i];

                if (!gradeL.ValidateOverlapping(gradeR.Range))
                {
                    throw new NullReferenceException($"คะแนนมีการทับซ้อนกัน {gradeR.Grade} และ {gradeL.Grade}.");
                }
                if (!gradeL.CheckRange(gradeR.Range))
                {
                    throw new NullReferenceException($"เกณฑ์คะแนนมีระยะการขาดช่วงกันระหว่างช่วงเกรด {gradeR.Grade} และ {gradeL.Grade}");
                }
            }

            //var g = results.Where(r => r.Range.Min >= 0 & r.Range.Max < 10);

            //if (!gradeBB.ValidateOverlapping(gradeA.Range))
            //{
            //    throw new NullReferenceException($"คะแนนมีการทับซ้อนกัน {gradeA.Grade} และ {gradeBB.Grade}.");
            //}
            //else if (!gradeB.ValidateOverlapping(gradeBB.Range))
            //{
            //    throw new NullReferenceException($"คะแนนมีการทับซ้อนกัน {gradeBB.Grade} และ {gradeB.Grade}.");
            //}
            //else if (!gradeCC.ValidateOverlapping(gradeB.Range))
            //{
            //    throw new NullReferenceException($"คะแนนมีการทับซ้อนกัน {gradeB.Grade} และ {gradeCC.Grade}.");
            //}
            //else if (!gradeC.ValidateOverlapping(gradeCC.Range))
            //{
            //    throw new NullReferenceException($"คะแนนมีการทับซ้อนกัน {gradeCC.Grade} และ {gradeC.Grade}.");
            //}
            //else if (!gradeDD.ValidateOverlapping(gradeC.Range))
            //{
            //    throw new NullReferenceException($"คะแนนมีการทับซ้อนกัน {gradeC.Grade} และ {gradeDD.Grade}.");
            //}
            //else if (!gradeD.ValidateOverlapping(gradeDD.Range))
            //{
            //    throw new NullReferenceException($"คะแนนมีการทับซ้อนกัน {gradeDD.Grade} และ {gradeDD.Grade}.");
            //}
            //else if (!gradeF.ValidateOverlapping(gradeD.Range))
            //{
            //    throw new NullReferenceException($"คะแนนมีการทับซ้อนกัน {gradeD.Grade} และ {gradeF.Grade}.");
            //}
            //else if (!gradeBB.CheckRange(gradeA.Range))
            //{
            //    throw new NullReferenceException($"เกณฑ์คะแนนมีระยะการขาดช่วงกันระหว่างช่วงเกรด {gradeA.Grade} และ {gradeBB.Grade}");
            //}
            //else if (!gradeB.CheckRange(gradeBB.Range))
            //{
            //    throw new NullReferenceException($"เกณฑ์คะแนนมีระยะการขาดช่วงกันระหว่างช่วงเกรด {gradeBB.Grade} และ {gradeB.Grade}");
            //}
            //else if (!gradeCC.CheckRange(gradeB.Range))
            //{
            //    throw new NullReferenceException($"เกณฑ์คะแนนมีระยะการขาดช่วงกันระหว่างช่วงเกรด {gradeB.Grade} และ {gradeCC.Grade}");
            //}
            //else if (!gradeC.CheckRange(gradeCC.Range))
            //{
            //    throw new NullReferenceException($"เกณฑ์คะแนนมีระยะการขาดช่วงกันระหว่างช่วงเกรด {gradeCC.Grade} และ {gradeC.Grade}");
            //}
            //else if (!gradeDD.CheckRange(gradeC.Range))
            //{
            //    throw new NullReferenceException($"เกณฑ์คะแนนมีระยะการขาดช่วงกันระหว่างช่วงเกรด {gradeC.Grade} และ {gradeDD.Grade}");
            //}
            //else if (!gradeD.CheckRange(gradeDD.Range))
            //{
            //    throw new NullReferenceException($"เกณฑ์คะแนนมีระยะการขาดช่วงกันระหว่างช่วงเกรด {gradeDD.Grade} และ {gradeD.Grade}");
            //}
            //else if (!gradeF.CheckRange(gradeD.Range))
            //{
            //    throw new NullReferenceException($"เกณฑ์คะแนนมีระยะการขาดช่วงกันระหว่างช่วงเกรด {gradeD.Grade} และ {gradeF.Grade}");
            //}
            //else
            //{
            //    MessageBox.Show("เกณฑ์คะแนนถูกต้องตามเงื่อนไข", "สำเร็จ", MessageBoxButtons.OK, MessageBoxIcon.None);
            //}
            MessageBox.Show("เกณฑ์คะแนนถูกต้องตามเงื่อนไข", "สำเร็จ", MessageBoxButtons.OK, MessageBoxIcon.None);
            return(grades);
        }