public void RefreshComplaints() { ComplaintsCollection.Clear(); Worker.EnqueueTask(new WorkerTask((a) => { try { using (var proxy = new WorkChannel()) { var res = proxy.GetComplaints(new EmptyRequest { Login = ClientConfig.CurrentUser.Email, Password = ClientConfig.CurrentUser.Password }); return res.Data; } } catch (Exception e) { return e; } }, (s, e) => { if (e.Result is Exception) { Utils.HandleException(e.Result as Exception); return; } var list = e.Result as List<ComplaintDTO>; foreach (var i in list) ComplaintsCollection.Add(i); }, null)); }