public T GetBaseT <T>(string k) where T : ITrainBase, new() { string id = k; ITrainBase m = default(T); if (m == null) { m = new T(); } using (_db = new ApplicationDbContext()) { if (m.GetType() == typeof(Base_Period)) { m = _db.Base_Period.Find(id); } if (m.GetType() == typeof(Base_Subject)) { m = _db.Base_Subject.Find(id); } if (m.GetType() == typeof(Base_Grade)) { m = _db.Base_Grades.Find(id); } if (m.GetType() == typeof(Base_Genre)) { m = _db.Base_Genres.Find(id); } return((T)m); } }
public AppConfigs.OperResult Del <T>(string id) where T : ITrainBase, new() { if (string.IsNullOrEmpty(id)) { return(AppConfigs.OperResult.failDueToArgu); } ITrainBase m = default(T); if (m == null) { m = new T(); } using (_db = new ApplicationDbContext()) { if (m.GetType() == typeof(Base_Period)) { var mdl = _db.Base_Period.Find(id); if (mdl == null) { return(AppConfigs.OperResult.failDueToExist); } if (_db.Base_DataBind.Any(a => a.PeriodId == mdl.Id)) { return(AppConfigs.OperResult.failDueToFk); } _db.Base_Period.Remove(mdl); } if (m.GetType() == typeof(Base_Subject)) { var mdl = _db.Base_Subject.Find(id); if (mdl == null) { return(AppConfigs.OperResult.failDueToExist); } if (_db.Base_DataBind.Any(a => a.SubjectId == mdl.Id)) { return(AppConfigs.OperResult.failDueToFk); } _db.Base_Subject.Remove(mdl); } if (m.GetType() == typeof(Base_Grade)) { var mdl = _db.Base_Grades.Find(id); if (mdl == null) { return(AppConfigs.OperResult.failDueToExist); } if (_db.Base_DataBind.Any(a => a.GradeId == mdl.Id)) { return(AppConfigs.OperResult.failDueToFk); } _db.Base_Grades.Remove(mdl); } if (m.GetType() == typeof(Base_Genre)) { var mdl = _db.Base_Genres.Find(id); if (mdl == null) { return(AppConfigs.OperResult.failDueToExist); } if (_db.Base_DataBind.Any(a => a.GenreId == mdl.Id)) { return(AppConfigs.OperResult.failDueToFk); } _db.Base_Genres.Remove(mdl); } return(_db.SaveChanges() > 0?AppConfigs.OperResult.success:AppConfigs.OperResult.failUnknown); } }