Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS has been phased out. To see alternatives please check here

Skip to content
Snippets Groups Projects
Select Git revision
  • ae55ccbaa1458de835162960dae6332e1ff62bd1
  • stable default
  • feat-fchv-bus
  • fix-h2-ice-bus
  • powertrains-multiple-axles
  • amdm3/develop
  • issue-1039
  • amdm3/main
  • test/nuget_publish
  • IEPC-experiments
  • amdm2/main
  • amdm2/develop
  • aptngearbox-not-auto
  • playground
  • official/main
  • official/develop
  • issue-templates
  • pdf-reports
  • HEV-timeruns-dev
  • timerun-empower-hybrids
  • timerun-pwheel-hybrids
  • Release/v5.0.3
  • Release/v5.0.1
  • Release/5.0.0-RC
  • Nuget/v0.11.4-DEV
  • Release/v0.11.4-DEV
  • Release/4.3.4-DEV
  • Release/4.3.3
  • Release/4.3.2-RC
  • Release/v4.3.0-DEV
  • Release/4.2.7
  • XMLConverterTool/4.2.6.0
  • Release/4.2.6-RC
  • Release/v4.2.5
  • Release/v4.2.3
  • Release/v4.2.2.3539-RC
  • Release/v4.2.1.3469
  • Release/v0.11.2.3456-DEV
  • Release/v4.2.0.3448-RC
  • Release/v4.1.3.3415
  • Release/v4.1.1.3413
41 results

AdditionalJobInfoViewModel.cs

  • Forked from VECTO / VECTO Sim
    Source project has a limited visibility.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    AdditionalJobInfoViewModel.cs 3.08 KiB
    using System;
    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;
    
    namespace VECTO3GUI2020.ViewModel.Implementation.Common
    {
    	public interface IAdditionalJobInfoViewModel
    	{
    		void SetParent(IViewModelBase parent);
    	}
    	public abstract class AdditionalJobInfoViewModelBase : ViewModelBase, IAdditionalJobInfoViewModel
    	{
    
    		#region Implementation of IAdditionalJobInfoViewModel
    
    		public string Information { get; } = "Nothing to show here";
    
    		public abstract void SetParent(IViewModelBase parent);
    
    
    		public AdditionalJobInfoViewModelBase()
    		{
    			SizeToContent = SizeToContent.WidthAndHeight;
    			MinHeight = 200;
    			MinWidth = 300;
    		}
    		#endregion
    	}
    
    	public class AdditionalJobInfoViewModelMultiStage : AdditionalJobInfoViewModelBase
    	{
    
    		private IMultiStageJobViewModel _parent;
    		private string _errorInfo;
    
    		public AdditionalJobInfoViewModelMultiStage()
    		{
    			Title = "Multistage Job Info";
    		}
    
    		#region Overrides of AdditionalJobInfoViewModelBase
    
    		public override void SetParent(IViewModelBase parent)
    		{
    			_parent = parent as IMultiStageJobViewModel;
    			if (parent == null) {
    				throw new ArgumentException(
    					"this class should only be used to extend the functionality of a class that implements the IMultistageJobViewModel interface");
    			}
    
    			//Title += $"- {_parent.DataSource.}"
    			if (_parent.CanBeSimulated) {
    				return;
    			}
    			
    			if(_parent.JobInputData?.ConsolidateManufacturingStage?.Vehicle?.VehicleDeclarationType !=
    				VehicleDeclarationType.final && !_parent.Exempted)
    			{
    				ErrorInfo = "Job is not declared as \"final\"";
    			}
    
    			
    			if (_parent.InvalidEntries != null && _parent.InvalidEntries.Count != 0) {
    				ErrorInfo = "This Job cannot be Simulated! The following inputs are missing or invalid";
    				foreach (var parentInvalidEntry in _parent.InvalidEntries)
    				{
    					InvalidEntries.Add(parentInvalidEntry);
    				}
    			}
    		}
    
    		public ObservableCollection<string> InvalidEntries { get; set; } = new ObservableCollection<string>();
    
    		public string ErrorInfo
    		{
    			get => _errorInfo;
    			set => SetProperty(ref _errorInfo, value);
    		}
    
    		#endregion
    	}
    
    	public class AdditionalJobInfoViewModelNewVif : AdditionalJobInfoViewModelBase
    	{
    		private ICreateVifViewModel _parent;
    		public ObservableCollection<string> InvalidEntries { get; set; } = new ObservableCollection<string>();
    
    		#region Overrides of AdditionalJobInfoViewModelBase
    
    		public override void SetParent(IViewModelBase parent)
    		{
    			_parent = parent as CreateVifViewModel;
    			Debug.Assert(_parent != null);
    
    
    		}
    
    		#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
    	}
    }