private static StoreConfigurationCommand MapCommand(ConfigurationRequest request)
 {
     return new StoreConfigurationCommand(
         request.ConnectionString,
         request.ConnectionStringAdmin,
         request.RabbitMqHostName,
         request.RabbitMqUserName,
         request.RabbitMqPassword,
         request.FacebookAppId,
         request.FacebookAppSecret,
         request.GoogleClientId,
         request.GoogleClientSecret
         );
 }
        public async Task<ActionResult> Index(ConfigurationRequest request)
        {
            if (_configuration.GeneralConfigured())
            {
                return RedirectToAction("Index", "Home");
            }

            var command = MapCommand(request);

            var result = await _messageDispatcher.Execute(command);
            if (!result.Succeeded)
            {
                return BadRequest();
            }

            return View(new InstallationResponse(true));
        }