예제 #1
0
        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);
            }
        }
예제 #2
0
        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);
            }
        }