public void UpdateMenu(sys_menu dto, string funcs) { sys_menu sys_menu = _sysmenuRepository.GetById(dto.id); if (!string.IsNullOrEmpty(dto.menu_url)) { dto.menu_type = 1; } if (dto.parent_id == 0) { dto.menu_level = 1; } else { dto.menu_level = _sysmenuRepository.Queryable <sys_menu>().Where(s => s.id == dto.parent_id).Select(s => s.menu_level).First() + 1; } dto.create_person = sys_menu.create_person ?? string.Empty; dto.create_time = sys_menu.create_time; _sysmenuRepository.Update(dto); _sysmenurefoperateRepository.Delete(s => s.menu_id == dto.id); if (!string.IsNullOrEmpty(funcs)) { var funcArray = funcs.Split(','); if (funcArray.Length > 0) { var list = new List <sys_menu_ref_operate>(); foreach (var func in funcArray) { var funcModel = new sys_menu_ref_operate(); funcModel.menu_id = dto.id; funcModel.operate_id = func.ToInt64(); list.Add(funcModel); } _sysmenurefoperateRepository.InsertRange(list); } } }
public void DelByIds(string ids) { try { if (!string.IsNullOrEmpty(ids)) { var idsArray = ids.Split(','); long[] arri = idsArray.StrToLongArray(); _sysfuncRepository.BeginTran(); _sysfuncRepository.DeleteById(idsArray); _sysmenurefoperateRepository.Delete(s => arri.Contains(s.operate_id)); _sysroleauthorizeRepository.Delete(s => arri.Contains(s.menu_id)); _sysfuncRepository.CommitTran(); } } catch (Exception ex) { _sysfuncRepository.RollbackTran(); throw ex; } }