public EmployeeService() { ConnectionStringSettings settings = ConfigurationManager.ConnectionStrings["DefaultConnection"]; _sqlConnection = new SqlConnection(settings.ConnectionString); _sqlConnection.Open(); _dbContex = new DbContex(); }
protected override void PreUpdate() { Name = Name.Trim(); if (IsLevelChanged()) { var level = GetMaxLevelCode(); var articles = DbContex.Set <ProductCategory>().Where(r => r.LevelCode.StartsWith(LevelCode) && r.Level != Level); articles.ForEach( r => { r.LevelCode = level + r.LevelCode.Substring(LevelCode.Length, r.LevelCode.Length - LevelCode.Length); r.Level = r.LevelCode.Length / 2 - 1; }); LevelCode = level; Level = LevelCode.Length / 2 - 1; } }
/// <summary> /// 获取当前文章最新层级 /// </summary> /// <returns></returns> private string GetMaxLevelCode() { var maxItem = DbContex.Set <ProductCategory>().OrderByDescending(r => r.LevelCode).FirstOrDefault(r => r.ParentId == ParentId); //当前层级没有项目 if (maxItem == null) { var parent = DbContex.Set <ProductCategory>().FirstOrDefault(r => r.Id == ParentId); //父层级不存在,即为第一条数据;父级存在,即为父级下第一条数据 return(parent == null ? "01" : string.Format("{0}{1}", parent.LevelCode, "01")); } else { //当前层级最大编号>=9,层级编号直接+1 if (maxItem.LevelCode.Trim('0').Length % 2 == 0 || maxItem.LevelCode.ToInt() == 9) { return((maxItem.LevelCode.ToInt() + 1).ToString()); } return((maxItem.LevelCode.ToInt() + 1).ToString().PadLeft(maxItem.LevelCode.Length, '0')); } }
public APP_MINIMUM_DESERVICE(DbContex context) { _context = context; }
public Repository(DbContex context) { Context = context; }
public APP_SPOUSEService(DbContex context) { _context = context; }
/// <summary> /// 判断父节点是否改变 /// </summary> /// <returns></returns> private bool IsLevelChanged() { var entry = DbContex.Entry(this); return(entry.CurrentValues["ParentId"] != entry.OriginalValues["ParentId"]); }