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; }