public async void LoadManagersStatsExecute()
 {
     ManagersButtonVisibility = Visibility.Collapsed;
     ManagersProgressBarVisibility = Visibility.Visible;
     FollowTheTaskServiceClient serviceClient = new FollowTheTaskServiceClient();
     ManagersStats.Clear();
     try
     {
         var managers = await serviceClient.GetManagerModelsAsync();
         foreach (var manager in managers)
         {
             var managerStats = new UserStats
             {
                 UserName = manager.User.UserName,
                 Role = "Менеджер",
                 Total = manager.TrackedTasks.Length,
                 TotalCompleted = manager.TrackedTasks.Count(t => t.IsFinished),
                 InTime = manager.TrackedTasks.Count(t => t.IsFinished && t.CompletionDate <= t.DeadLine)
             };
             var x = managerStats.TotalCompleted > 0 ? managerStats.InTime*1.0F/managerStats.TotalCompleted : 0.0F;
             managerStats.BorderBrush = new SolidColorBrush(managerStats.TotalCompleted == 0
                 ? Colors.DarkGray
                 : Color.FromScRgb(1.0F, 1.0F - x, 0.0F + x, 0.0F));
             ManagersStats.Add(managerStats);
         }
     }
     catch (Exception e)
     {
         MessageBox.Show(e.Message);
     }
     serviceClient.Close();
     ManagersButtonVisibility = Visibility.Visible;
     ManagersProgressBarVisibility = Visibility.Collapsed;
 }
 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;
 }