/// <summary> /// 添加分类数据 /// </summary> /// <returns></returns> public static int Add(Entity.CusCategory entity) { if (entity == null) { return(-1); } var db = new DataCore.EFDBContext(); Entity.CusCategory p_entity = null; if (entity.PID != null) { p_entity = db.CusCategorys.Find(entity.PID); if (p_entity == null) { entity.PID = null; entity.Depth = 1; } else { entity.Depth = p_entity.Depth + 1; } } db.CusCategorys.Add(entity); db.SaveChanges(); db.Dispose(); return(entity.ID); }
/// <summary> /// 修改分类数据 /// </summary> /// <returns></returns> public static bool Modify(Entity.CusCategory entity) { if (entity == null) { return(false); } var db = new DataCore.EFDBContext(); Entity.CusCategory p_entity = null; if (entity.PID != null) { p_entity = db.CusCategorys.Find(entity.PID); if (p_entity == null) { entity.PID = null; entity.Depth = 1; } else { entity.Depth = p_entity.Depth + 1; } } db.Entry <Entity.CusCategory>(entity).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); db.Dispose(); return(true); }
public void TreeTest() { var db = new DataCore.EFDBContext(); List <Universal.Web.Areas.Admin.Models.ViewModelTree> list = new List <Web.Areas.Admin.Models.ViewModelTree>(); var query = db.SysRoutes.GroupBy(p => p.Tag).ToList(); for (int i = 0; i < query.Count; i++) { int pid = TypeHelper.ObjectToInt(WebHelper.GenerateRandomIntNumber(4)); Universal.Web.Areas.Admin.Models.ViewModelTree model = new Web.Areas.Admin.Models.ViewModelTree(); model.id = pid; model.name = query[i].Key; model.open = i < 4 ? true : false; model.pId = 0; list.Add(model); foreach (var item in query[i].ToList()) { Universal.Web.Areas.Admin.Models.ViewModelTree model2 = new Web.Areas.Admin.Models.ViewModelTree(); model2.id = item.ID; model2.name = item.Desc; model2.open = false; model2.pId = pid; list.Add(model2); } } string json = Newtonsoft.Json.JsonConvert.SerializeObject(list); db.Dispose(); Assert.AreEqual(1, 1); }
/// <summary> /// 根据ID获取子或父数据 /// </summary> /// <param name="up">查找父级,否则为查找子级</param> /// <param name="id">当前分类ID</param> /// <returns></returns> public static List <Entity.CusCategory> GetList(bool up, int id) { List <Entity.CusCategory> list = new List <Entity.CusCategory>(); var db = new DataCore.EFDBContext(); SqlParameter[] param = { new SqlParameter("@Id", id) }; string proc_name = "dbo.sp_GetParentCusCategory @Id"; if (!up) { proc_name = "dbo.sp_GetChildCusCategory @Id"; } list = db.CusCategorys.SqlQuery(proc_name, param).ToList(); db.Dispose(); return(list); }