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); } } }