inital
This commit is contained in:
286
FasdDesktopUi/Pages/DetailsPage/DetailsPageViewModel.cs
Normal file
286
FasdDesktopUi/Pages/DetailsPage/DetailsPageViewModel.cs
Normal file
@@ -0,0 +1,286 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Threading;
|
||||
|
||||
using FasdDesktopUi.Basics.Models;
|
||||
using FasdDesktopUi.Pages.DetailsPage.Models;
|
||||
using FasdDesktopUi.Basics;
|
||||
|
||||
using static C4IT.Logging.cLogManager;
|
||||
|
||||
namespace FasdDesktopUi.Pages.DetailsPage.ViewModels
|
||||
{
|
||||
public class DetailsPageViewModel : BaseViewModel
|
||||
{
|
||||
#region Properties
|
||||
|
||||
private int shownValueColumnsCount;
|
||||
|
||||
public cSupportCaseDataProvider DataProvider { get; set; }
|
||||
|
||||
#region ZoomInPercent
|
||||
|
||||
private int zoomInPercent;
|
||||
|
||||
public int ZoomInPercent
|
||||
{
|
||||
get { return zoomInPercent; }
|
||||
set
|
||||
{
|
||||
if (value < 50)
|
||||
value = 50;
|
||||
else if (value > 250)
|
||||
value = 250;
|
||||
|
||||
zoomInPercent = value;
|
||||
cFasdCockpitConfig.Instance.SetDetailsPageZoom(value);
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Header Properties
|
||||
|
||||
#region PageTitle Property
|
||||
|
||||
private string pageTitle;
|
||||
public string PageTitle
|
||||
{
|
||||
get { return pageTitle; }
|
||||
set
|
||||
{
|
||||
pageTitle = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region HeadingData Property
|
||||
|
||||
private List<cHeadingDataModel> headingData;
|
||||
|
||||
public List<cHeadingDataModel> HeadingData
|
||||
{
|
||||
get { return headingData; }
|
||||
set
|
||||
{
|
||||
headingData = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
#region Widget Properties
|
||||
|
||||
#region WidgetData Property
|
||||
private List<List<cWidgetValueModel>> widgetDataList;
|
||||
public List<List<cWidgetValueModel>> WidgetDataList
|
||||
{
|
||||
get { return widgetDataList; }
|
||||
set
|
||||
{
|
||||
widgetDataList = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region WidgetGeometry Property
|
||||
private List<DetailsPageWidgetGeometryModel> widgetGeometryList;
|
||||
public List<DetailsPageWidgetGeometryModel> WidgetGeometryList
|
||||
{
|
||||
get { return widgetGeometryList; }
|
||||
set
|
||||
{
|
||||
widgetGeometryList = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
#region Details Properties
|
||||
|
||||
#region TimeSinceLastRefresh property
|
||||
private TimeSpan timeSinceLastRefresh;
|
||||
public TimeSpan TimeSinceLastRefresh
|
||||
{
|
||||
get { return timeSinceLastRefresh; }
|
||||
set
|
||||
{
|
||||
timeSinceLastRefresh = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region DetailsGeometry property
|
||||
|
||||
private DetailsPageDataHistoryCollectionGeometryModel detailsGeometry;
|
||||
|
||||
public DetailsPageDataHistoryCollectionGeometryModel DetailsGeometry
|
||||
{
|
||||
get { return detailsGeometry; }
|
||||
set
|
||||
{
|
||||
detailsGeometry = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region DetailsData property
|
||||
|
||||
private List<cDetailsPageDataHistoryDataModel> detailsDataList;
|
||||
public List<cDetailsPageDataHistoryDataModel> DetailsDataList
|
||||
{
|
||||
get { return detailsDataList; }
|
||||
set
|
||||
{
|
||||
detailsDataList = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region ShownValueColumnsCount
|
||||
public int ShownValueColumnsCount
|
||||
{
|
||||
get => shownValueColumnsCount; set
|
||||
{
|
||||
shownValueColumnsCount = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
#region Menu Properties
|
||||
|
||||
#region MenuBarData property
|
||||
|
||||
private List<cMenuDataBase> menuBarData;
|
||||
|
||||
public List<cMenuDataBase> MenuBarData
|
||||
{
|
||||
get { return menuBarData; }
|
||||
set
|
||||
{
|
||||
menuBarData = value;
|
||||
OnPropertyChanged();
|
||||
OnPropertyChanged(nameof(MenuDrawerData));
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region MenuDrawerData Property
|
||||
|
||||
public List<cMenuDataBase> MenuDrawerData
|
||||
{
|
||||
get
|
||||
{
|
||||
if (MenuBarData != null)
|
||||
return MenuBarData.Where(x => x.IconPositionIndex < 0).ToList();
|
||||
|
||||
return new List<cMenuDataBase>();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
public DetailsPageViewModel()
|
||||
{
|
||||
cFasdCockpitConfig.Instance.UiSettingsChanged += CockpitConfig_UiSettingsChanged;
|
||||
}
|
||||
|
||||
private void CockpitConfig_UiSettingsChanged(object sender, EventArgs e)
|
||||
{
|
||||
ZoomInPercent = cFasdCockpitConfig.Instance.DetailsPageZoom;
|
||||
}
|
||||
|
||||
#region Set DataContext
|
||||
|
||||
public void SetGeometryValues(DetailsPageGeometry geometryValues)
|
||||
{
|
||||
var CM = MethodBase.GetCurrentMethod();
|
||||
LogMethodBegin(CM);
|
||||
try
|
||||
{
|
||||
WidgetGeometryList = geometryValues.WidgetGeometryList;
|
||||
DetailsGeometry = geometryValues.DetailsCollectionGeometry;
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
LogEntry($"Passed geometry values: {geometryValues}");
|
||||
LogException(E);
|
||||
}
|
||||
finally
|
||||
{
|
||||
LogMethodEnd(CM);
|
||||
}
|
||||
}
|
||||
|
||||
public void SetPropertyValues(cDetailsPageData propertyValues)
|
||||
{
|
||||
var CM = MethodBase.GetCurrentMethod();
|
||||
LogMethodBegin(CM);
|
||||
try
|
||||
{
|
||||
DataProvider = propertyValues.DataProvider;
|
||||
|
||||
//Heading Properties
|
||||
HeadingData = propertyValues.HeadingData;
|
||||
|
||||
//Widget Properties
|
||||
WidgetDataList = propertyValues.WidgetData;
|
||||
|
||||
//Details Properties
|
||||
TimeSinceLastRefresh = propertyValues.TimeSinceLastRefresh;
|
||||
ShownValueColumnsCount = propertyValues.ShownValueColumnsCount;
|
||||
DetailsDataList = propertyValues.DataHistoryList;
|
||||
|
||||
//Menu Properties
|
||||
MenuBarData = propertyValues.MenuBarData;
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
LogEntry($"Passed history values: {propertyValues}");
|
||||
LogException(E);
|
||||
}
|
||||
finally
|
||||
{
|
||||
LogMethodEnd(CM);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user