Пример #1
0
        //Clear all the data
        public void Unload()
        {
            SelectedServiceUsers.Clear();
            ServiceUsers.Clear();

            isLoaded = false;
        }
Пример #2
0
        /// <summary>
        /// Refresh all the service user lists
        /// </summary>
        public void RefreshLists(bool ServiceUsersChanged, bool SelectedServiceuserChanged, bool ServiceUserFilterChanged)
        {
            if (_isRefreshingControls || IgnoreControlRefresh)
            {
                return;
            }

            Console.WriteLine("[" + DateTime.Now.ToString() + "] Refrehing Service User Lists");
            _isRefreshingControls = true;

            foreach (ServiceUserCtrl ctrl in _serviceUserCtrls)
            {
                bool ChangeMade = false;

                //update service users in list
                if (ServiceUsersChanged)
                {
                    ctrl.List.ServiceUsers = ServiceUsers;
                    ChangeMade             = true;
                }

                if (SelectedServiceuserChanged)
                {
                    //<DEP> THis is not needed as only one service user can be selected!
                    //bool containsSelectedItems = !SelectedServiceUsers.Except(ctrl.List.FilteredObjects).Any();

                    //if(containsSelectedItems)
                    //{
                    //var DifferencesList = ctrl.List.SelectedItems.Where(x => !SelectedServiceUsers.Any(x1 => x1 == x))
                    //             .Union(SelectedServiceUsers.Where(x => !ctrl.List.SelectedItems.Any(x1 => x1 == x)));

                    //if (DifferencesList.Count() > 0)
                    //{
                    //    ctrl.List.SelectedItem = SelectedServiceUsers[0];
                    //    ChangeMade = true;
                    //}
                    //}

                    if (SelectedServiceUsers.Count() > 0 && ctrl.List.SelectedItem != SelectedServiceUsers[0])
                    {
                        ctrl.List.SelectedItem = SelectedServiceUsers[0];
                        ChangeMade             = true;
                    }
                    else if (SelectedServiceUsers.Count() == 0 && ctrl.List.SelectedItem != null)
                    {
                        ctrl.List.SelectedItem = null;
                        ChangeMade             = true;
                    }
                }


                //update the filter
                if (ServiceUserFilterChanged)
                {
                    if (ctrl.List.Filter != _ServiceUserListFilter)
                    {
                        ctrl.List.Filter = _ServiceUserListFilter;
                    }
                }


                //refresh the control
                if (ChangeMade || (!ServiceUsersChanged && !SelectedServiceuserChanged && !ServiceUserFilterChanged))
                {
                    ctrl.List.Refresh();
                }
            }

            _isRefreshingControls = false;
        }