BuildModel(EditExchangeExternalServiceDataViewModel viewModel, ExternalServiceData mainModel)
        {
            //current External Service data
            var externalServiceData = mainModel;

            if (!ModelState.IsValid)
            {
                return(null,
                       new EditExchangeExternalServiceDataViewModel(viewModel, await ExchangeService.GetAvailableExchanges()));
            }

            //current External Service data
            externalServiceData.Set((ExchangeExternalServiceData)viewModel);
            var exchangeService = new ExchangeService(externalServiceData);

            if (!await exchangeService.TestAccess())
            {
                ModelState.AddModelError(String.Empty,
                                         "Could not connect with current settings. Transmuter tests against fetching your balance amount from the exchange so you would need to enable that option if available");

                return(null,
                       new EditExchangeExternalServiceDataViewModel(viewModel, await ExchangeService.GetAvailableExchanges()));
            }

            return(externalServiceData, null);
        }
        BuildModel(EditExchangeExternalServiceDataViewModel viewModel, ExternalServiceData mainModel)
        {
            //current External Service data
            var externalServiceData = mainModel;

            if (!ModelState.IsValid)
            {
                return(null,
                       new EditExchangeExternalServiceDataViewModel(viewModel, ExchangeService.GetAvailableExchanges()));
            }

            //current External Service data
            externalServiceData.Set((ExchangeExternalServiceData)viewModel);
            var exchangeService = new ExchangeService(externalServiceData);

            if (!await exchangeService.TestAccess())
            {
                ModelState.AddModelError(String.Empty, "Could not connect with current settings");


                return(null,
                       new EditExchangeExternalServiceDataViewModel(viewModel, ExchangeService.GetAvailableExchanges()));
            }

            return(externalServiceData, null);
        }