public RocketLandingController(IRocketLandingService rocketLandingService, IConfiguration configuration)
        {
            _rocketLandingService = rocketLandingService;

            var settings = new LandingAreaSettings();

            configuration.GetSection("LandingAreaSettings").Bind(settings);
            rocketLandingService.SetupLandingArea(settings.ToLandingArea());
        }
        public static LandingArea ToLandingArea(this LandingAreaSettings settings)
        {
            var platforms = new List <LandingPlatform>();

            foreach (var landingPlatformSettings in settings.LandingPlatforms)
            {
                platforms.Add(new LandingPlatform(new Square(landingPlatformSettings.Height,
                                                             landingPlatformSettings.Width,
                                                             new Position(landingPlatformSettings.TopLeftCorner.AxisX,
                                                                          landingPlatformSettings.TopLeftCorner.AxisY))));
            }

            return(new LandingArea(platforms, settings.Height, settings.Width));
        }