Пример #1
0
        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);
                }
            }
        }