public void Seed() { // Grade seed var grades = new DbEntities.Grades.Grade[] { new DbEntities.Grades.Grade { Name = "Range", Description = "", GradeValueIsInPercentOrPostition = false, TotalMaxValue = 100, TotalMinValue = 0, MinimumPassValue = 40, SchoolId = null, RangeOrValue = false, Void = null, }, new DbEntities.Grades.Grade { Name = "Letter Grading", Description = "", GradeValueIsInPercentOrPostition = false, TotalMaxValue = 100, TotalMinValue = 0, MinimumPassValue = 40, SchoolId = null, RangeOrValue = true, Void = null, GradeValues = new List <DbEntities.Grades.GradeValue> { new DbEntities.Grades.GradeValue { Value = "F", IsFailGrade = false, EquivalentPercentOrPostition = 0, Void = null, }, new DbEntities.Grades.GradeValue { Value = "C-", IsFailGrade = false, EquivalentPercentOrPostition = 1.7f, Void = null, }, new DbEntities.Grades.GradeValue { Value = "C", IsFailGrade = false, EquivalentPercentOrPostition = 2f, Void = null, }, new DbEntities.Grades.GradeValue { Value = "C+", IsFailGrade = false, EquivalentPercentOrPostition = 2.3f, Void = null, }, new DbEntities.Grades.GradeValue { Value = "B-", IsFailGrade = false, EquivalentPercentOrPostition = 2.7f, Void = null, }, new DbEntities.Grades.GradeValue { Value = "B", IsFailGrade = false, EquivalentPercentOrPostition = 3, Void = null, }, new DbEntities.Grades.GradeValue { Value = "B+", IsFailGrade = false, EquivalentPercentOrPostition = 3.3f, Void = null, }, new DbEntities.Grades.GradeValue { Value = "A-", IsFailGrade = false, EquivalentPercentOrPostition = 3.7f, Void = null, }, new DbEntities.Grades.GradeValue { Value = "A", IsFailGrade = false, EquivalentPercentOrPostition = 4, Void = null, }, //new DbEntities.Grades.GradeValue{Value = "A+", IsFailGrade = false, EquivalentPercentOrPostition = 0, Void = null, }, } }, }; _context.Grade.AddOrUpdate( p => p.Name, grades ); _context.SaveChanges(); }
public float ConvertPositionToPercent(DbEntities.Grades.Grade grade, int position) { try { var maxGrade = grade.GradeValues.OrderByDescending(x => x.EquivalentPercentOrPostition).FirstOrDefault(); if (maxGrade != null) { if (maxGrade.EquivalentPercentOrPostition != null) { var percent = (float)((1.0 * position / maxGrade.EquivalentPercentOrPostition ?? 0) * 100); return(percent); } return(0); } return(0); } catch { return(0); } }
// public DbEntities.Grades.Grade AddOrUpdateGrade(DbEntities.Grades.Grade grade, List <DbEntities.Grades.GradeValue> gradeValuesList) { try { using (var scope = new TransactionScope()) { var ent = Context.Grade.Find(grade.Id); if (ent == null) { ent = Context.Grade.Add(grade); Context.SaveChanges(); if (gradeValuesList != null) { for (var i = 0; i < gradeValuesList.Count; i++) // in gradeValuesList) { gradeValuesList[i].GradeId = ent.Id; Context.GradeValue.Add(gradeValuesList[i]); Context.SaveChanges(); } } } else { ent.Name = grade.Name; ent.Description = grade.Description; ent.GradeValueIsInPercentOrPostition = grade.GradeValueIsInPercentOrPostition; ent.RangeOrValue = grade.RangeOrValue; if (!grade.RangeOrValue)//range { ent.MinimumPassValue = grade.MinimumPassValue; ent.TotalMaxValue = grade.TotalMaxValue; ent.TotalMinValue = grade.TotalMinValue; Context.SaveChanges(); } else//values { ent.GradeValueIsInPercentOrPostition = grade.GradeValueIsInPercentOrPostition; ent.MinimumPassValue = grade.MinimumPassValue; ent.TotalMaxValue = grade.TotalMaxValue; ent.TotalMinValue = grade.TotalMinValue; //var olderlist = Context.GradeValue.Where(x => x.GradeId == ent.Id).ToList(); //for (int i = 0; i < olderlist.Count; i++) //{ // Context.GradeValue.Remove(olderlist[i]); //} //Context.SaveChanges(); if (gradeValuesList != null) { foreach (var gv in gradeValuesList) { var gvDb = Context.GradeValue.Find(gv.Id); if (gvDb == null) { gv.GradeId = ent.Id; Context.GradeValue.Add(gv); Context.SaveChanges(); } else { gvDb.Void = gv.Void; gvDb.Value = gv.Value; gvDb.EquivalentPercentOrPostition = gv.EquivalentPercentOrPostition; gvDb.IsFailGrade = gv.IsFailGrade; Context.SaveChanges(); } } } } Context.SaveChanges(); } scope.Complete(); return(ent); } } catch { return(null); } }
public int ConvertPercentToPosition(DbEntities.Grades.Grade grade, float percent) { return(0); }