public ActionResult Index() { var host = new Uri(Request.GetEncodedUrl()).GetLeftPart(UriPartial.Authority); var emulator = new EmulatorModel { OpenUrl = $"bfemulator://livechat?botUrl={host}/api/messages", DownloadUrl = "https://github.com/microsoft/BotFramework-Emulator/releases" }; //return new RedirectResult($"bfemulator://livechat?botUrl={host}/api/messages"); return(View(emulator)); }
/// <summary> /// Builds a EmulatorModel for every rom /// </summary> public static EmulatorModel[] GetEmulatorInformationFromDisk(string rootEmuDirectory) { EmulatorModel[] models = null; try { models = new EmulatorModel[EnumerateEmulators(rootEmuDirectory)]; } catch (DirectoryNotFoundException ex) { DebugManager.ShowErrorDialog("An error occured getting the emulator directory", ex); return(models); } string[] emulatorConsoleAssociations = new EmuManagerModel().EmulatorAssociations.Split(';'); int i = 0; foreach (string association in emulatorConsoleAssociations) { try { // EX association: PS1:ePSXe.exe string emulator = association.Split(':')[1]; string[] files = System.IO.Directory.GetFiles(rootEmuDirectory, emulator, SearchOption.AllDirectories); foreach (string file in files) { EmulatorModel model = new EmulatorModel(); model.BinaryPath = file; model.Console = association.Split(':')[0]; models[i] = model; i++; } } catch (NullReferenceException) { // This would mean an improperly formatted emulator association was present if hit continue; } catch (IOException) { // This would mean the emulator directory was set incorrectly or unreadable continue; } } return(models); }