diff --git a/GSS2/DependencyInjectionHelper.cs b/GSS2/DependencyInjectionHelper.cs index 8354676..668d637 100644 --- a/GSS2/DependencyInjectionHelper.cs +++ b/GSS2/DependencyInjectionHelper.cs @@ -1,10 +1,12 @@ using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; using GSS2.UI.Core.ViewModels; using GSS2.UI.Core.Services; using GSS2.Views; using GSS2.ViewModels; -using Microsoft.Extensions.Logging; +using GSS2.ViewModels.Common; +using GSS2.ViewModels.AmineContent; namespace GSS2; @@ -23,5 +25,11 @@ public static class DependencyInjectionHelper .AddSingleton() .AddSingleton() .AddSingleton() - .AddSingleton(); + .AddSingleton() + .AddSingleton() + .AddSingleton() + .AddSingleton() + .AddSingleton() + .AddSingleton() + .AddSingleton(); } diff --git a/GSS2/ViewModels/AmineContent/AnalysisViewModel.cs b/GSS2/ViewModels/AmineContent/AnalysisViewModel.cs new file mode 100644 index 0000000..9590818 --- /dev/null +++ b/GSS2/ViewModels/AmineContent/AnalysisViewModel.cs @@ -0,0 +1,11 @@ +using GSS2.UI.Core.ViewModels; + +namespace GSS2.ViewModels.AmineContent; + +public partial class AnalysisViewModel : ViewModelBase +{ + public AnalysisViewModel() + { + + } +} diff --git a/GSS2/ViewModels/AmineContent/ResultsViewModel.cs b/GSS2/ViewModels/AmineContent/ResultsViewModel.cs new file mode 100644 index 0000000..a654227 --- /dev/null +++ b/GSS2/ViewModels/AmineContent/ResultsViewModel.cs @@ -0,0 +1,11 @@ +using GSS2.UI.Core.ViewModels; + +namespace GSS2.ViewModels.AmineContent; + +public partial class ResultsViewModel : ViewModelBase +{ + public ResultsViewModel() + { + + } +} diff --git a/GSS2/ViewModels/AmineContent/SampleCalibrationViewModel.cs b/GSS2/ViewModels/AmineContent/SampleCalibrationViewModel.cs new file mode 100644 index 0000000..bc7afba --- /dev/null +++ b/GSS2/ViewModels/AmineContent/SampleCalibrationViewModel.cs @@ -0,0 +1,11 @@ +using GSS2.UI.Core.ViewModels; + +namespace GSS2.ViewModels.AmineContent; + +public partial class SampleCalibrationViewModel : ViewModelBase +{ + public SampleCalibrationViewModel() + { + + } +} diff --git a/GSS2/ViewModels/AmineContent/SeparatorCalibrationViewModel.cs b/GSS2/ViewModels/AmineContent/SeparatorCalibrationViewModel.cs new file mode 100644 index 0000000..9aff616 --- /dev/null +++ b/GSS2/ViewModels/AmineContent/SeparatorCalibrationViewModel.cs @@ -0,0 +1,11 @@ +using GSS2.UI.Core.ViewModels; + +namespace GSS2.ViewModels.AmineContent; + +public partial class SeparatorCalibrationViewModel : ViewModelBase +{ + public SeparatorCalibrationViewModel() + { + + } +} diff --git a/GSS2/ViewModels/AmineContent/StartViewModel.cs b/GSS2/ViewModels/AmineContent/StartViewModel.cs new file mode 100644 index 0000000..3197b86 --- /dev/null +++ b/GSS2/ViewModels/AmineContent/StartViewModel.cs @@ -0,0 +1,11 @@ +using GSS2.UI.Core.ViewModels; + +namespace GSS2.ViewModels.AmineContent; + +public partial class StartViewModel : ViewModelBase +{ + public StartViewModel() + { + + } +} diff --git a/GSS2/ViewModels/AmineContentViewModel.cs b/GSS2/ViewModels/AmineContentViewModel.cs new file mode 100644 index 0000000..eed08ad --- /dev/null +++ b/GSS2/ViewModels/AmineContentViewModel.cs @@ -0,0 +1,50 @@ +using CommunityToolkit.Mvvm.ComponentModel; +using CommunityToolkit.Mvvm.Input; + +using GSS2.UI.Core.Services; +using GSS2.UI.Core.ViewModels; +using GSS2.ViewModels.Common; +using GSS2.ViewModels.AmineContent; + +namespace GSS2.ViewModels; + +public partial class AmineContentViewModel : ViewModelBase +{ + private readonly NavigationService _navigationService; + + [ObservableProperty] public partial StartViewModel Start { get; set; } + [ObservableProperty] public partial AnalysisViewModel Analysis { get; set; } + [ObservableProperty] public partial ResultsViewModel Results { get; set; } + [ObservableProperty] public partial SampleCalibrationViewModel SampleCalibration { get; set; } + [ObservableProperty] public partial SeparatorCalibrationViewModel SeparatorCalibration { get; set; } + [ObservableProperty] public partial SystemViewModel System { get; set; } + + [ObservableProperty] public partial int CurrentIndex { get; set; } + + public AmineContentViewModel( + NavigationService navigationService, + StartViewModel start, + AnalysisViewModel analysis, + ResultsViewModel results, + SampleCalibrationViewModel sampleCalibration, + SeparatorCalibrationViewModel separatorCalibration, + SystemViewModel system + ) + { + _navigationService = navigationService; + Start = start; + Analysis = analysis; + Results = results; + SampleCalibration = sampleCalibration; + SeparatorCalibration = separatorCalibration; + System = system; + } + + [RelayCommand] + void ChangeSection(string sectionNumberStr) + { + if (!int.TryParse(sectionNumberStr, out var sectionNumber)) + return; + CurrentIndex = sectionNumber; + } +} diff --git a/GSS2/ViewModels/Common/SystemViewModel.cs b/GSS2/ViewModels/Common/SystemViewModel.cs new file mode 100644 index 0000000..f5787a8 --- /dev/null +++ b/GSS2/ViewModels/Common/SystemViewModel.cs @@ -0,0 +1,11 @@ +using GSS2.UI.Core.ViewModels; + +namespace GSS2.ViewModels.Common; + +public partial class SystemViewModel : ViewModelBase +{ + public SystemViewModel() + { + + } +} diff --git a/GSS2/Views/AmineContentView.axaml b/GSS2/Views/AmineContentView.axaml new file mode 100644 index 0000000..9852050 --- /dev/null +++ b/GSS2/Views/AmineContentView.axaml @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GSS2/Views/AmineContentView.axaml.cs b/GSS2/Views/AmineContentView.axaml.cs new file mode 100644 index 0000000..72bca01 --- /dev/null +++ b/GSS2/Views/AmineContentView.axaml.cs @@ -0,0 +1,11 @@ +using Avalonia.Controls; + +namespace GSS2.Views; + +public partial class AmineContentView : UserControl +{ + public AmineContentView() + { + InitializeComponent(); + } +}