public static void DisableComponentsButtons(SimulationGridOptions simulationGridOptions)
        {
            var properties         = simulationGridOptions.GetType().GetProperties().ToList();
            var canBuildProperties = properties.Where(x => x.Name.Contains("Build")).ToList();

            foreach (var prop in canBuildProperties)
            {
                prop.SetValue(simulationGridOptions, false, null);
            }
        }
        public static (BuildingComponentType, BitmapImage) EnableNextComponentButtonAndGetTypeAndImage(SimulationGridOptions simulationGridOptions, int step, bool isFirstTime = false)
        {
            if (!isFirstTime)
            {
                DisableComponentsButtons(simulationGridOptions);
            }

            switch (step)
            {
            case 1:
                simulationGridOptions.CanBuildCheckIn = true;
                break;

            case 2:
                simulationGridOptions.CanBuildManyToOneConveyor = true;
                break;

            case 3:
                simulationGridOptions.CanBuildPsc = true;
                break;

            case 4:
                simulationGridOptions.CanBuildConveyor = true;
                break;

            case 5:
                simulationGridOptions.CanBuildMpa = true;
                break;

            case 6:
                simulationGridOptions.CanBuildConveyor = true;
                break;

            case 7:
                simulationGridOptions.CanBuildAa = true;
                break;
            }

            return(GetNextBuildingComponentTypeAndImage(step));
        }