Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS will be completely phased out by mid-2025. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit ae55ccba authored by Harald Martini's avatar Harald Martini
Browse files

Added Additional Job info for Stage Input

parent af888b70
No related branches found
No related tags found
No related merge requests found
......@@ -61,6 +61,9 @@ namespace VECTO3GUI2020.Ninject
Bind<IAdditionalJobInfoViewModel>().To<AdditionalJobInfoViewModelNewVif>()
.WhenInjectedInto(typeof(ICreateVifViewModel));
Bind<IAdditionalJobInfoViewModel>().To<AdditionalJobInfoViewModelStageInput>()
.WhenInjectedInto(typeof(IStageViewModelBase));
Bind<JSONJob>().ToSelf();
}
}
......
......@@ -235,7 +235,7 @@
</DataTemplate>
<DataTemplate DataType="{x:Type multistageimpl:CreateVifViewModel}">
<multistageviews:CreateVifView></multistageviews:CreateVifView>
<multistageviews:CreateVifView/>
</DataTemplate>
<!--#endregion-->
......@@ -244,7 +244,15 @@
</DataTemplate>
<DataTemplate DataType="{x:Type common:AdditionalJobInfoViewModelMultiStage}">
<additionaljobInfoViews:AdditionalJobInfoViewMultiStage></additionaljobInfoViews:AdditionalJobInfoViewMultiStage>
<additionaljobInfoViews:AdditionalJobInfoViewMultiStage/>
</DataTemplate>
<DataTemplate DataType="{x:Type common:AdditionalJobInfoViewModelNewVif}">
<additionaljobInfoViews:AdditionalJobInfoViewNewVIF/>
</DataTemplate>
<DataTemplate DataType="{x:Type common:AdditionalJobInfoViewModelStageInput}">
<additionaljobInfoViews:AdditionalJobInfoStageInput/>
</DataTemplate>
......
......@@ -433,6 +433,9 @@
<Compile Include="Views\MessageView.xaml.cs">
<DependentUpon>MessageView.xaml</DependentUpon>
</Compile>
<Compile Include="Views\Multistage\AdditionalJobInfoViews\AdditionalJobInfoStageInput.xaml.cs">
<DependentUpon>AdditionalJobInfoStageInput.xaml</DependentUpon>
</Compile>
<Compile Include="Views\Multistage\AdditionalJobInfoViews\AdditionalJobInfoViewMultiStage.xaml.cs">
<DependentUpon>AdditionalJobInfoViewMultiStage.xaml</DependentUpon>
</Compile>
......@@ -706,6 +709,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\Multistage\AdditionalJobInfoViews\AdditionalJobInfoStageInput.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\Multistage\AdditionalJobInfoViews\AdditionalJobInfoViewMultiStage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
......
......@@ -3,6 +3,7 @@ using System.Collections.ObjectModel;
using System.Diagnostics;
using System.Linq;
using System.Windows;
using System.Windows.Media.TextFormatting;
using TUGraz.VectoCommon.InputData;
using VECTO3GUI2020.ViewModel.Interfaces.Common;
using VECTO3GUI2020.ViewModel.MultiStage.Implementation;
......@@ -13,23 +14,22 @@ namespace VECTO3GUI2020.ViewModel.Implementation.Common
{
void SetParent(IViewModelBase parent);
}
public class AdditionalJobInfoViewModelBase : ViewModelBase, IAdditionalJobInfoViewModel
public abstract class AdditionalJobInfoViewModelBase : ViewModelBase, IAdditionalJobInfoViewModel
{
private IViewModelBase _parent;
#region Implementation of IAdditionalJobInfoViewModel
public string Information { get; } = "Nothing to show here";
public abstract void SetParent(IViewModelBase parent);
public virtual void SetParent(IViewModelBase parent)
public AdditionalJobInfoViewModelBase()
{
_parent = parent;
SizeToContent = SizeToContent.WidthAndHeight;
MinHeight = 200;
MinWidth = 300;
}
#endregion
}
......@@ -42,7 +42,6 @@ namespace VECTO3GUI2020.ViewModel.Implementation.Common
public AdditionalJobInfoViewModelMultiStage()
{
Title = "Multistage Job Info";
SizeToContent = SizeToContent.WidthAndHeight;
}
#region Overrides of AdditionalJobInfoViewModelBase
......@@ -99,11 +98,22 @@ namespace VECTO3GUI2020.ViewModel.Implementation.Common
_parent = parent as CreateVifViewModel;
Debug.Assert(_parent != null);
//if()
}
#endregion
}
public class AdditionalJobInfoViewModelStageInput : AdditionalJobInfoViewModelBase
{
private IStageViewModelBase stageViewModel;
#region Overrides of AdditionalJobInfoViewModelBase
public override void SetParent(IViewModelBase parent)
{
stageViewModel = parent as IStageViewModelBase;
Debug.Assert(stageViewModel != null);
}
#endregion
}
}
\ No newline at end of file
......@@ -26,41 +26,51 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
private bool _selected;
private static uint _newDocumentCounter = 0;
public StageInputViewModel(bool exemptedVehicle, IMultiStageViewModelFactory multiStageViewModelFactory) : base(multiStageViewModelFactory)
private StageInputViewModel(IMultiStageViewModelFactory multistageViewModelFactory,
IAdditionalJobInfoViewModel additionalJobInfoViewModel) : base(multistageViewModelFactory)
{
_documentType = XmlDocumentType.DeclarationJobData;
_additionalJobInfoViewModel = additionalJobInfoViewModel;
_additionalJobInfoViewModel.SetParent(this);
}
public StageInputViewModel(bool exemptedVehicle, IMultiStageViewModelFactory multiStageViewModelFactory, IAdditionalJobInfoViewModel additionalJobInfoViewModel) : this(multiStageViewModelFactory, additionalJobInfoViewModel)
{
_vehicleViewModel = _viewModelFactory.CreateStageInputVehicleViewModel(
exemptedVehicle
? InterimStageBusVehicleViewModel_v2_8.VERSION_EXEMPTED
: InterimStageBusVehicleViewModel_v2_8.VERSION) as IMultistageVehicleViewModel;
Debug.Assert(_vehicleViewModel != null);
Title = "Edit Stage Input - New File";
_documentType = XmlDocumentType.DeclarationJobData;
_documentName = $"New {(exemptedVehicle ? "Exempted " : "")}Stage Input {++_newDocumentCounter}";
Init();
}
public StageInputViewModel(IDeclarationInputDataProvider inputData, IMultiStageViewModelFactory multiStageViewModelFactory) : base(multiStageViewModelFactory)
public StageInputViewModel(IDeclarationInputDataProvider inputData, IMultiStageViewModelFactory multiStageViewModelFactory, IAdditionalJobInfoViewModel additionalJobInfoViewModel) : this(multiStageViewModelFactory,additionalJobInfoViewModel)
{
_documentName = inputData.JobInputData.JobName;
_vehicleViewModel =
_viewModelFactory.CreateStageInputVehicleViewModel(inputData.JobInputData.Vehicle) as IMultistageVehicleViewModel;
(_vehicleViewModel as InterimStageBusVehicleViewModel_v2_8).ShowConsolidatedData = false;
_dataSource = inputData.DataSource;
_documentType = XmlDocumentType.DeclarationJobData;
Title = $"Edit Stage Input - {Path.GetFileName(_dataSource.SourceFile)}";
Title = $"Edit Stage Input - {Path.GetFileName(_dataSource.SourceFile)}";
Init();
}
#region Overrides of StageViewModelBase
/// <summary>
/// Called in base class after input data is loaded.
/// </summary>
/// <param name="loadedInputData"></param>
protected override void LoadStageInputDataFollowUp(IDeclarationInputDataProvider loadedInputData)
{
DataSource = loadedInputData.DataSource;
UpdateTitle();
DocumentName = loadedInputData.JobInputData.JobName;
}
#endregion
......@@ -116,11 +126,11 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
get => false;
set => throw new System.NotImplementedException();
}
private IAdditionalJobInfoViewModel _additionalJobInfoViewModel;
public IAdditionalJobInfoViewModel AdditionalJobInfoVm
{
get => throw new NotImplementedException();
set => throw new NotImplementedException();
get => _additionalJobInfoViewModel;
set => SetProperty(ref _additionalJobInfoViewModel, value);
}
#endregion
......
<UserControl x:Class="VECTO3GUI2020.Views.Multistage.AdditionalJobInfoViews.AdditionalJobInfoStageInput"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:VECTO3GUI2020.Views.Multistage.AdditionalJobInfoViews"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Grid>
<Label>This File cannot be simulated on its own.</Label>
</Grid>
</UserControl>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace VECTO3GUI2020.Views.Multistage.AdditionalJobInfoViews
{
/// <summary>
/// Interaction logic for AdditionalJobInfoStageInput.xaml
/// </summary>
public partial class AdditionalJobInfoStageInput : UserControl
{
public AdditionalJobInfoStageInput()
{
InitializeComponent();
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment