private async void UpdateDashboardData(object sender, EventArgs e)
{
string methodName = "UpdateDashboardData(object sender, EventArgs e)";
try
{
((DispatcherTimer)sender).Stop();
List<string> selectedGroups = AgentGroups.Where(a => a.IsChecked == true).Select(a => a.GroupName).ToList();
if (DataManagerRealTimeSkill.HasServerDataRefreshed(LastSkillRealTimeUpdate))
{
List<RealTimeSkillModel> data = await Task.Run(() => DataManagerRealTimeSkill.GetSkillData(selectedGroups));
if (data.Count != 0)
{
RealTimeSkillData = data[0];
UpdateThresholds();
LastSkillRealTimeUpdate = DateTime.Now;
}
}
if (DataManagerRealTimeAgent.HasServerDataRefreshed(LastAgentRealTimeUpdate))
{
List<RealTimeAgentModel> newData = await Task.Run(() => DataManagerRealTimeAgent.GetAgentData(selectedGroups));
ObservableCollection<RealTimeAgentModel> data = new ObservableCollection<RealTimeAgentModel>(newData);
if (data.Count != 0)
{
RealTimeAgentData = data;
UpdateThresholds();
LastAgentRealTimeUpdate = DateTime.Now;
}
}
if (DataManagerHistoricalSkill.HasServerDataRefreshed(LastHistoricalSkillUpdate))
{
GetHistoricalSkillTileData();
GetHistoricalSkillTileComparisonData();
GetHistoricalSkillTableData();
UpdateThresholds();
LastHistoricalSkillUpdate = DateTime.Now;
}
((DispatcherTimer)sender).Start();
}
catch (Exception ex)
{
DataManagerLogs.WriteToErrorLog($"{classNamespace}.{methodName}", ex.ToString(), "");
MsgBoxDialogContent = new CustomMessageBoxView("Error", $"An error has been encountered in {classNamespace}.{methodName}" + Environment.NewLine + Environment.NewLine +
"Exception: " + ex.Message);
MsgBoxDialogOpen = true;
DialogHostStates.CustomMessageDialogOpen = true;
dialogTimer.Start();
}
}