public SubContentDetail GetSubContentDetail(int detailId)
 {
     using (var db = new CEEntities())
     {
         return db.SubContentDetail.AsQueryable().First(c => c.Id == detailId);
     }
 }
 public List<SubContentDetail> LoadDetailssBySubContentId(int subContentId)
 {
     using (var db = new CEEntities())
     {
         return db.SubContentDetail.AsQueryable().Where(c => c.SubContentId == subContentId).ToList();
     }
 }
 public List<Menu> LoadAllMenus()
 {
     using (var db = new CEEntities())
     {
         return db.Menu.ToList();
     }
 }
 public Content GetContent(long contentId)
 {
     using (var db = new CEEntities())
     {
         return db.Content.AsQueryable().First(c => c.Id == contentId);
     }
 }
 public List<SubContent> LoadSubContentsByContentId(int contentId)
 {
     using (var db = new CEEntities())
     {
         return db.SubContent.AsQueryable().Where(c => c.ContentId == contentId).ToList();
     }
 }
 public SubContent GetSubContent(int subcontentId)
 {
     using (var db = new CEEntities())
     {
         return db.SubContent.AsQueryable().First(c => c.Id == subcontentId);
     }
 }
 public List<Content> LoadContentsByMenuId(int menuId)
 {
     using (var db = new CEEntities())
     {
         return db.Content.AsQueryable().Where(c => c.MenuId == menuId).ToList();
     }
 }
 public Menu GetMenu(Menu menu)
 {
     using (var db = new CEEntities())
     {
         var exist =
             db.Menu.AsQueryable().First(m => m.Id == menu.Id || m.Name.Equals(menu.Name, StringComparison.OrdinalIgnoreCase));
         return exist;
     }
 }
        public List<SubContentDetail> LoadDetailssBySubContentIds(params int[] subcontentIds)
        {
            if (subcontentIds == null || subcontentIds.Length == 0) return null;
            if (subcontentIds.Length == 1) return LoadDetailssBySubContentId(subcontentIds[0]);

            using (var db = new CEEntities())
            {
                return db.SubContentDetail.AsQueryable().Where(c => subcontentIds.Contains(c.SubContentId)).ToList();
            }
        }
        public List<SubContent> LoadSubContentsByContentIds(params int[] contentIds)
        {
            if (contentIds == null || contentIds.Length == 0) return null;
            if (contentIds.Length == 1) return LoadSubContentsByContentId(contentIds[0]);

            using (var db = new CEEntities())
            {
                return db.SubContent.AsQueryable().Where(c => contentIds.Contains(c.ContentId)).ToList();
            }
        }
 public bool DeleteSubContent(int subcontentId)
 {
     using (var db = new CEEntities())
     {
         var c = GetSubContent(subcontentId);
         if (c == null) return false;
         db.SubContent.Remove(c);
         return db.SaveChanges() > 0;
     }
 }
 public bool Delete(Menu menu)
 {
     using (var db = new CEEntities())
     {
         var m = GetMenu(menu);
         if (m == null) return false;
         db.Menu.Remove(m);
         return db.SaveChanges() > 0;
     }
 }
 public bool DeleteSubContentDetail(int detailId)
 {
     using (var db = new CEEntities())
     {
         var c = GetSubContentDetail(detailId);
         if (c == null) return false;
         db.SubContentDetail.Remove(c);
         return db.SaveChanges() > 0;
     }
 }
 public bool DeleteContent(long contentId)
 {
     using (var db = new CEEntities())
     {
         var c = GetContent(contentId);
         if (c == null) return false;
         db.Content.Remove(c);
         return db.SaveChanges() > 0;
     }
 }
 public SubContent Save(SubContent content)
 {
     using (var db = new CEEntities())
     {
         var existContent = GetSubContent(content.Id);
         if (existContent == null)
         {
             db.SubContent.Add(content);
         }
         else
         {
             content.Id = existContent.Id;
             existContent = content;
         }
         db.SaveChanges();
         return GetSubContent(content.Id);
     }
 }
 public Menu SaveMenu(Menu menu)
 {
     using (var db = new CEEntities())
     {
         var existMenu = GetMenu(menu);
         if (existMenu != null)
         {
             menu.Id = existMenu.Id;
             existMenu = menu;
         }
         else
         {
             db.Menu.Add(menu);
         }
         db.SaveChanges();
         return GetMenu(menu);
     }
 }
 public SubContentDetail Save(SubContentDetail detail)
 {
     using (var db = new CEEntities())
     {
         var existContent = GetSubContentDetail(detail.Id);
         if (existContent == null)
         {
             db.SubContentDetail.Add(detail);
         }
         else
         {
             detail.Id = existContent.Id;
             existContent = detail;
         }
         db.SaveChanges();
         return GetSubContentDetail(detail.Id);
     }
 }