/// <summary> /// Runs this instance. /// </summary> public void Run() { TraceService.WriteHeader("PluginsController::Run"); //// we open the nuget package manager console so we don't have //// a wait condition later! this.nugetService.OpenNugetWindow(); FrameworkType frameworkType = this.VisualStudioService.GetFrameworkType(); if (frameworkType.IsMvvmCrossSolutionType()) { PluginsViewModel viewModel = this.ShowDialog <PluginsViewModel>(new PluginsView()); if (viewModel.Continue) { IEnumerable <Plugin> plugins = viewModel.GetRequiredPlugins(); if (plugins.Any()) { this.Process(plugins); } } } else { this.ShowNotMvvmCrossOrXamarinFormsSolutionMessage(); } }
public Plugins() { vm = SP.GetService <ViewModelsService>().Plugins; DataContext = vm; InitializeComponent(); }
private void ApplyChanges() { DictionaryViewModel.ApplyChanges(); OtherViewModel.ApplyChanges(); PointingAndSelectingViewModel.ApplyChanges(); SoundsViewModel.ApplyChanges(); VisualsViewModel.ApplyChanges(); PluginsViewModel.ApplyChanges(); WordsViewModel.ApplyChanges(); }
public ActionResult Manage(PluginsViewModel viewModel) { //var pluginsViewModel = new PluginsViewModel(); var pluginConfigurationModels = _pluginConfigurationGetter.Get("ns2", "ns2").OrderBy(x => x.Name.EndsWith(".json")).ThenBy(x => x.Name); var selectListItems = pluginConfigurationModels.Select(x => new SelectListItem { Text = x.Name, Value = x.Name }); viewModel.PluginNames = selectListItems; return(View(viewModel)); }
public JsonResult EditConfig(PluginsViewModel viewModel) { var message = string.Empty; var isError = false; var stacktrace = string.Empty; try { JsonConvert.DeserializeObject(viewModel.PluginConfigJson); } catch (Exception ex) { isError = true; message = "Config is not valid JSON. Correct JSON or Undo. Save operation aborted."; stacktrace = ex.StackTrace; } if (!isError) { _pluginConfigurationSetter.Set("ns2", "ns2", viewModel.SelectedPluginName, viewModel.PluginConfigJson); if (viewModel.SelectedPluginName.EndsWith(".json")) { var contents = Encoding.UTF8.GetBytes(viewModel.PluginConfigJson); var host = ConfigurationManager.AppSettings["FtpHost"]; var port = Convert.ToInt32(ConfigurationManager.AppSettings["FtpPort"]); var username = ConfigurationManager.AppSettings["TgUsername"]; var password = ConfigurationManager.AppSettings["TgPassword"]; var path = ConfigurationManager.AppSettings["ConfigDirFtpPath"]; var sftpFileUploader = new SftpFileUploader(); sftpFileUploader.Upload(contents, host, port, username, password, $"{path}/{viewModel.SelectedPluginName}"); //ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true; //FtpUrlTemplates.ForEach(x=> //{ // var contents = Encoding.UTF8.GetBytes(viewModel.PluginConfigJson); // var request = (FtpWebRequest)WebRequest.Create(string.Format(x, viewModel.SelectedPluginName)); // request.Method = WebRequestMethods.Ftp.UploadFile; // request.EnableSsl = true; // request.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["WebAdminUsername"], ConfigurationManager.AppSettings["WebAdminPassword"]); // request.ContentLength = contents.Length; // using (var requestStream = request.GetRequestStream()) // { // requestStream.Write(contents, 0, contents.Length); // } // using (var response = (FtpWebResponse) request.GetResponse()) // { // //Console.WriteLine("Upload File Complete, status {0}", response.StatusDescription); // } //}); } message = string.Format("{0} plugin config saved.", viewModel.SelectedPluginName); } return(Json(new { isError = isError, message = message, stacktrace = stacktrace })); }
public PartialViewResult LoadConfig(string selectedPluginName) { var pluginsViewModel = new PluginsViewModel(); var pluginConfigurationModels = _pluginConfigurationGetter.Get("ns2", "ns2"); var selectListItems = pluginConfigurationModels.Select(x => new SelectListItem { Text = x.Name, Value = x.Name }); pluginsViewModel.PluginNames = selectListItems; var selectedPluginConfigurationModel = pluginConfigurationModels.Single(x => x.Name == selectedPluginName); pluginsViewModel.SelectedPluginName = selectedPluginConfigurationModel.Name; pluginsViewModel.PluginConfigJson = selectedPluginConfigurationModel.ConfigJson; return(PartialView("_EditPluginConfig", pluginsViewModel)); }
public ManagementViewModel( IAudioService audioService, IDictionaryService dictionaryService) { //Instantiate child VMs DictionaryViewModel = new DictionaryViewModel(dictionaryService); OtherViewModel = new OtherViewModel(); PointingAndSelectingViewModel = new PointingAndSelectingViewModel(); SoundsViewModel = new SoundsViewModel(audioService); VisualsViewModel = new VisualsViewModel(); PluginsViewModel = new PluginsViewModel(); WordsViewModel = new WordsViewModel(dictionaryService); //Instantiate interaction requests and commands ConfirmationRequest = new InteractionRequest <Confirmation>(); OkCommand = new DelegateCommand <Window>(Ok); //Can always click Ok CancelCommand = new DelegateCommand <Window>(Cancel); //Can always click Cancel }
public RootViewModel(IEnumerable <IPlugin> plugins, PluginsViewModel pluginsViewModel) { }