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); }
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); }