Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit 2c0648ac authored by Harald MARTINI's avatar Harald MARTINI
Browse files

added VectoMockUpRunDataFactoryFactory

parent fe6e3f16
No related branches found
No related tags found
No related merge requests found
......@@ -8,6 +8,82 @@ using TUGraz.VectoCore.OutputData;
namespace TUGraz.VectoCore.InputData.Reader
{
public class VectoMockUpRunDataFactoryFactory : IVectoRunDataFactoryFactory
{
#region Implementation of IVectoRunDataFactoryFactory
public IVectoRunDataFactory CreateDeclarationRunDataFactory(IInputDataProvider inputDataProvider, IDeclarationReport report,
IVTPReport vtpReport)
{
if (inputDataProvider == null)
throw new ArgumentNullException(nameof(inputDataProvider));
switch (inputDataProvider)
{
case IVTPDeclarationInputDataProvider vtpProvider:
return CreateRunDataReader(vtpProvider, vtpReport);
case ISingleBusInputDataProvider singleBusProvider:
return CreateRunDataReader(singleBusProvider, report);
case IDeclarationInputDataProvider declDataProvider:
return CreateRunDataReader(declDataProvider, report);
case IMultistageVIFInputData multistageVifInputData:
return CreateRunDataReader(multistageVifInputData, report);
default:
break;
}
throw new VectoException("Unknown InputData for Declaration Mode!");
}
private IVectoRunDataFactory CreateRunDataReader(IMultistageVIFInputData multistageVifInputData, IDeclarationReport report)
{
throw new NotImplementedException();
}
private IVectoRunDataFactory CreateRunDataReader(IDeclarationInputDataProvider declDataProvider, IDeclarationReport report)
{
var vehicleCategory = declDataProvider.JobInputData.Vehicle.VehicleCategory;
if (vehicleCategory.IsLorry())
{
return new DeclarationModeTruckVectoRunDataFactory(declDataProvider, report);
}
if (vehicleCategory.IsBus())
throw new NotImplementedException();
switch (declDataProvider.JobInputData.Vehicle.VehicleCategory)
{
case VehicleCategory.HeavyBusCompletedVehicle:
return new DeclarationModeCompletedBusVectoRunDataFactory(declDataProvider, report);
case VehicleCategory.HeavyBusPrimaryVehicle:
return new DeclarationModePrimaryBusVectoRunDataFactory(declDataProvider, report);
default:
break;
}
throw new Exception(
$"Could not create RunDataFactory for Vehicle Category{vehicleCategory}");
}
private IVectoRunDataFactory CreateRunDataReader(ISingleBusInputDataProvider singleBusProvider, IDeclarationReport report)
{
throw new NotImplementedException();
}
private IVectoRunDataFactory CreateRunDataReader(IVTPDeclarationInputDataProvider vtpProvider, IVTPReport vtpReport)
{
throw new NotImplementedException();
}
public IVectoRunDataFactory CreateEngineeringRunDataFactory(IEngineeringInputDataProvider inputDataProvider)
{
throw new NotImplementedException();
}
#endregion
}
public class VectoRunDataFactoryFactory : IVectoRunDataFactoryFactory
{
/// <summary>
......
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