Esempio n. 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);
                }
            }
        }
Esempio n. 2
0
 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;
     }
 }