private void Button_Click(object sender, RoutedEventArgs e) { worker.EnqueueTask(new Workers.WorkerTask((args) => { var list = args[0] as List<OrderSuppliesDTO>; try { using (var proxy = new WorkChannel()) { return proxy.OrderSupplies(new UpdateRequest<List<OrderSuppliesDTO>>() { Data = list, Login = ClientConfig.CurrentUser.Email, Password = ClientConfig.CurrentUser.Password }); } } catch(Exception exc) { Console.WriteLine(exc.Message); return exc; } }, (s,ex) => { if (ex.Result is Exception) { Utils.HandleException(ex.Result as Exception); return; } var res = ex.Result as ListResponse<OrderSuppliesDTO>; if (res==null) { Utils.showError(Utils.Messages.ORDER_FAILURE); return; } Data.Clear(); foreach(var item in res.Data) Data.Add(item); }, Data.ToList())); }