public async void LoadWorkersStatsExecute() { WorkersButtonVisibility = Visibility.Collapsed; WorkersProgressBarVisibility = Visibility.Visible; FollowTheTaskServiceClient serviceClient = new FollowTheTaskServiceClient(); WorkersStats.Clear(); try { var workers = await serviceClient.GetWorkerModelsAsync(); foreach (var worker in workers) { var workerStats = new UserStats { UserName = worker.User.UserName, Role = "Исполнитель", Total = worker.Quests.Length, TotalCompleted = worker.Quests.Count(q => q.IsFinished), InTime = worker.Quests.Count(q => q.IsFinished && q.CompletionDate <= q.DeadLine) }; var x = workerStats.TotalCompleted > 0 ? workerStats.InTime * 1.0F / workerStats.TotalCompleted : 0.0F; workerStats.BorderBrush = new SolidColorBrush(workerStats.TotalCompleted == 0 ? Colors.DarkGray : Color.FromScRgb(1.0F, 1.0F - x, 0.0F + x, 0.0F)); WorkersStats.Add(workerStats); } } catch (Exception e) { MessageBox.Show(e.Message); } serviceClient.Close(); WorkersButtonVisibility = Visibility.Visible; WorkersProgressBarVisibility = Visibility.Collapsed; }