private void PrepareData()
        {
            var items = new List <ListBoxItem>();

            foreach (var device in AuthorizationDevices)
            {
                items.Add(new ListBoxItem()
                {
                    ID          = device.DeviceID,
                    DisplayName = device.Name,
                    Description = device.Remark,
                    IsSelected  = OwnedDevices.Select(d => d.DeviceID).Contains(device.DeviceID)
                });
            }

            DeviceListBoxSource = items;

            if (ID == 0)
            {
                Title = "新增部门";
            }
            else
            {
                Title = "修改部门";
            }
        }
        private void UpdateSelectedDevices()
        {
            var selectedDepartmentDevices = new List <DepartmentDevice>();

            var selectedDeviceItem = DeviceListBoxSource.FindAll(d => d.IsSelected);

            foreach (var item in selectedDeviceItem)
            {
                var existDevice = OwnedDevices.FirstOrDefault(d => d.DeviceID == item.ID);
                if (existDevice != null)
                {
                    selectedDepartmentDevices.Add(existDevice);
                }
                else
                {
                    selectedDepartmentDevices.Add(new DepartmentDevice()
                    {
                        DepartmentID = ID, DeviceID = item.ID
                    });
                }
            }

            OwnedDevices = selectedDepartmentDevices;
        }