private IActionResult LightningChargeServices(ExternalService service, ExternalConnectionString connectionString, bool showQR = false) { ChargeServiceViewModel vm = new ChargeServiceViewModel(); vm.Uri = connectionString.Server.AbsoluteUri; vm.APIToken = connectionString.APIToken; var builder = new UriBuilder(connectionString.Server); builder.UserName = "******"; builder.Password = vm.APIToken; vm.AuthenticatedUri = builder.ToString(); return(View(nameof(LightningChargeServices), vm)); }
public async Task <IActionResult> LightningChargeServices(string cryptoCode, int index, bool showQR = false) { if (!_dashBoard.IsFullySynched(cryptoCode, out var unusud)) { StatusMessage = $"Error: {cryptoCode} is not fully synched"; return(RedirectToAction(nameof(Services))); } var lightningCharge = _Options.ExternalServicesByCryptoCode.GetServices <ExternalCharge>(cryptoCode).Select(c => c.ConnectionString).FirstOrDefault(); if (lightningCharge == null) { return(NotFound()); } ChargeServiceViewModel vm = new ChargeServiceViewModel(); vm.Uri = lightningCharge.ToUri(false).AbsoluteUri; vm.APIToken = lightningCharge.Password; try { if (string.IsNullOrEmpty(vm.APIToken) && lightningCharge.CookieFilePath != null) { if (lightningCharge.CookieFilePath != "fake") { vm.APIToken = await System.IO.File.ReadAllTextAsync(lightningCharge.CookieFilePath); } else { vm.APIToken = "fake"; } } var builder = new UriBuilder(lightningCharge.ToUri(false)); builder.UserName = "******"; builder.Password = vm.APIToken; vm.AuthenticatedUri = builder.ToString(); } catch (Exception ex) { StatusMessage = $"Error: {ex.Message}"; return(RedirectToAction(nameof(Services))); } return(View(vm)); }