/// <summary> /// 改变菜单排序 /// </summary> /// <param name="orders"></param> /// <param name="adminMenu"></param> /// <returns></returns> public bool UpdateMenuOrders(int orders, Sys_AdminMenu adminMenu) { //防止使排序需要为正整数 if (orders <= 0) { orders = 1; } bool isNeedCommit = false; _repository.BeginTran(); try { var maxOrder = _repository.GetMaxValue <Sys_AdminMenu>(p => p.Pid == adminMenu.Pid, p => p.Orders); if (adminMenu.Orders > maxOrder) { adminMenu.Orders = maxOrder + 1; //保证更新的排序不会大于(最大值+1) } if (adminMenu.Orders > orders) //上移排序 { if (UpdateOrderByPlus(adminMenu.Pid, orders, adminMenu.Orders) > 0) //上移排序需要将排在自己前面的排序往下移1 { isNeedCommit = true; adminMenu.Orders = orders; if (!UpdateColumns(c => new { c.Orders }, adminMenu)) { isNeedCommit = false; } } } else if (adminMenu.Orders < orders) //下移排序 { if (UpdateOrderBySub(adminMenu.Pid, adminMenu.Orders, orders) > 0) //下移排序需要将排在自己后面的排序往上移1 { isNeedCommit = true; adminMenu.Orders = orders; if (!UpdateColumns(c => new { c.Orders }, adminMenu)) { isNeedCommit = false; } } } if (isNeedCommit) { _repository.CommitTran(); } else { _repository.RollBackTran(); } return(isNeedCommit); } catch { _repository.RollBackTran(); return(false); } }
public Sys_AdminMenuCreateOrUpdateCommand(Sys_AdminMenu ent) { this.ent = ent; }
public bool UpdateColumns(Expression <Func <Sys_AdminMenu, object> > columns, Sys_AdminMenu model, bool isLock = false) { return(_repository.UpdateColumns(columns, model, isLock) > 0); }
public bool Update(Sys_AdminMenu model) { throw new NotImplementedException(); }
public int Insert(Sys_AdminMenu model) { return(_repository.Insert(model)); }