[DevExpress Support Team: CLONED FROM T242056: XAF Auto Refresh on Time.]
We've built a support system where our customer service registers and processes SupportIssues(XPO class). When the front desk gets a call from a customer he/she registers a SupportIssue and assigns it to one of our many support groups, for instance tech support, billing etc. So if a the front desk registers a SupportIssue and assigns it to tech support they need to be notified about the new issue.
The way it is done now is that when a SupportIssue is saved at the front desk, a file is written to a shared file location which is watched by the application. If the application sees a new file it will fire of an event which is registered in the SupportIssueListViewController and MySupportIssuesListViewController. When this event fires we refresh the grid with:
((Control)Frame.Template).Invoke(new ThreadStart(() => ((DevExpress.ExpressApp.ListView)View).CollectionSource.Refresh()));
Tech support will now see the new issue and can start processing it. The problem is that the refresh on the collectionsource takes a couple of seconds(and potentially runs two times if both the SupportIssueListViewController and MySupportIssuesListViewController is active) so if the user on tech support is already inputting data in the DetailView on another SupportIssue the application will freeze while the refresh is happening, which annoys them.
Ideally the refresh would happen when the ListView is focused again. I've also considered just adding a notification icon to the toolbar and turn that on instead of automatically refreshing the ListView, so that the user must manually refresh the listview when he sees the notification icon.
Any suggestions would be greatly appreciated.
Regards
Terje
We have closed this ticket because another page addresses its subject:
Determening if a ViewControllers View or Frame or what it is called is visible
Hello Terje.
Unless I'm mistaken, you have already asked a similar question in the T247596 ticket. Let's discuss this issue in one place.