protected override void OnExecute(object param) { BSkyMouseBusyHandler.ShowMouseBusy();//ShowProgressbar_old(); IUnityContainer container = LifetimeService.Instance.Container; IDataService service = container.Resolve <IDataService>(); IUIController controller = container.Resolve <IUIController>(); //Get current filetype from loaded dataset. This is file extension and Filter DataSource actds = controller.GetActiveDocument();//06Nov2012 if (actds == null) { return; } string datasetName = "" + actds.Name;//uadatasets$lst$ //string datasetName = "uadatasets$lst$" + controller.GetActiveDocument().Name; //Also try to get the filename of currently loaded file. This is FileName. string extension = controller.GetActiveDocument().Extension; string filename = controller.GetActiveDocument().FileName; SaveFileDialog saveasFileDialog = new SaveFileDialog(); saveasFileDialog.Filter = FileNameFilter; //CheckBox cbox = new CheckBox(); //saveasFileDialog.FileName = filename;////// Window1 appwin = LifetimeService.Instance.Container.Resolve <Window1>(); bool? output = saveasFileDialog.ShowDialog(appwin);//Application.Current.MainWindow); if (output.HasValue && output.Value) { service.SaveAs(saveasFileDialog.FileName, controller.GetActiveDocument()); // #0 controller.GetActiveDocument().Changed = false; //21Mar2014 during close it should not prompt again for saving if (saveasFileDialog.FileName.ToLower().EndsWith("sav")) //12Feb2018 we dont want to open SaveAs-ed SAV files. { MessageBox.Show(BSky.GlobalResources.Properties.Resources.SaveAsSucces + saveasFileDialog.FileName, BSky.GlobalResources.Properties.Resources.Saved, MessageBoxButton.OK, MessageBoxImage.Asterisk); } else if (System.IO.File.Exists(saveasFileDialog.FileName)) { //Close current Dataset on whic Save As was run FileCloseCommand fcc = new FileCloseCommand(); fcc.CloseDataset(false); //Open Dataset that was SaveAs-ed. FileOpenCommand fo = new FileOpenCommand(); fo.FileOpen(saveasFileDialog.FileName, true); } else { BSkyMouseBusyHandler.HideMouseBusy();//HideProgressbar_old(); MessageBox.Show(BSky.GlobalResources.Properties.Resources.SaveAsFailed + saveasFileDialog.FileName, BSky.GlobalResources.Properties.Resources.InternalError, MessageBoxButton.OK, MessageBoxImage.Asterisk); } } BSkyMouseBusyHandler.HideMouseBusy();//HideProgressbar_old(); }
protected override void OnExecute(object param) { IUnityContainer container = LifetimeService.Instance.Container; IDataService service = container.Resolve <IDataService>(); IUIController controller = container.Resolve <IUIController>(); //Get current filetype from loaded dataset. This is file extension and Filter DataSource actds = controller.GetActiveDocument();//06Nov2012 if (actds == null) { return; } string datasetName = "" + actds.Name;//uadatasets$lst$ //string datasetName = "uadatasets$lst$" + controller.GetActiveDocument().Name; //Also try to get the filename of currently loaded file. This is FileName. string extension = controller.GetActiveDocument().Extension; string filename = controller.GetActiveDocument().FileName; SaveFileDialog saveasFileDialog = new SaveFileDialog(); saveasFileDialog.Filter = FileNameFilter; //CheckBox cbox = new CheckBox(); //saveasFileDialog.FileName = filename;////// Window1 appwin = LifetimeService.Instance.Container.Resolve <Window1>(); bool? output = saveasFileDialog.ShowDialog(appwin);//Application.Current.MainWindow); if (output.HasValue && output.Value) { service.SaveAs(saveasFileDialog.FileName, controller.GetActiveDocument()); // #0 controller.GetActiveDocument().Changed = false; //21Mar2014 during close it should not prompt again for saving //Close current Dataset on whic Save As was run FileCloseCommand fcc = new FileCloseCommand(); fcc.CloseDataset(false); //Open Dataset that was SaveAs-ed FileOpenCommand fo = new FileOpenCommand(); fo.FileOpen(saveasFileDialog.FileName); } }
protected override void OnExecute(object param) { IUnityContainer container = LifetimeService.Instance.Container; IDataService service = container.Resolve<IDataService>(); IUIController controller = container.Resolve<IUIController>(); //Get current filetype from loaded dataset. This is file extension and Filter DataSource actds = controller.GetActiveDocument();//06Nov2012 if (actds == null) return; string datasetName = "" + actds.Name;//uadatasets$lst$ //string datasetName = "uadatasets$lst$" + controller.GetActiveDocument().Name; //Also try to get the filename of currently loaded file. This is FileName. string extension = controller.GetActiveDocument().Extension; string filename = controller.GetActiveDocument().FileName; SaveFileDialog saveasFileDialog = new SaveFileDialog(); saveasFileDialog.Filter = FileNameFilter; //CheckBox cbox = new CheckBox(); //saveasFileDialog.FileName = filename;////// Window1 appwin = LifetimeService.Instance.Container.Resolve<Window1>(); bool? output = saveasFileDialog.ShowDialog(appwin);//Application.Current.MainWindow); if (output.HasValue && output.Value) { service.SaveAs(saveasFileDialog.FileName, controller.GetActiveDocument());// #0 controller.GetActiveDocument().Changed = false;//21Mar2014 during close it should not prompt again for saving //Close current Dataset on whic Save As was run FileCloseCommand fcc = new FileCloseCommand(); fcc.CloseDataset(false); //Open Dataset that was SaveAs-ed FileOpenCommand fo = new FileOpenCommand(); fo.FileOpen(saveasFileDialog.FileName); } }
private void ExecuteOtherCommand(OutputWindow ow, string stmt) { if (AdvancedLogging) logService.WriteToLogLevel("ExtraLogs: Before Executing in R.", LogLevelEnum.Info); #region Check open close brackets before executing string unbalmsg; if (!AreBracketsBalanced(stmt, out unbalmsg))//if unbalanced brackets { CommandRequest errmsg = new CommandRequest(); string fullmsg = "Error : " + unbalmsg; errmsg.CommandSyntax = "write(\"" + fullmsg.Replace("<", "<").Replace('"', '\'') + "\",fp)";// analytics.ExecuteR(errmsg, false, false); //for printing command in file return; } #endregion ///if command is for loading dataset // if (stmt.Contains("UAloadDataset")) { int indexofopening = stmt.IndexOf('('); int indexofclosing = stmt.IndexOf(')'); string[] parameters = stmt.Substring(indexofopening + 1, indexofclosing - indexofopening - 2).Split(','); string filename = string.Empty; foreach (string s in parameters) { if (s.Contains('/') || s.Contains('\\')) filename = s.Replace('\"', ' ').Replace('\'', ' '); } if (filename.Contains("=")) { filename = filename.Substring(filename.IndexOf("=") + 1); } FileOpenCommand fo = new FileOpenCommand(); fo.FileOpen(filename.Trim()); return; } object o = null; CommandRequest cmd = new CommandRequest(); if (stmt.Contains("BSkySortDataframe(") || stmt.Contains("BSkyComputeExpression(") || stmt.Contains("BSkyRecode(")) { CommandExecutionHelper auacb = new CommandExecutionHelper(); UAMenuCommand uamc = new UAMenuCommand(); uamc.bskycommand = stmt; uamc.commandtype = stmt; auacb.ExeuteSingleCommandWithtoutXML(stmt);//auacb.ExecuteSynEdtrNonAnalysis(uamc); auacb.Refresh_Statusbar(); //auacb = null; } else { if (AdvancedLogging) logService.WriteToLogLevel("ExtraLogs: Executing in R.", LogLevelEnum.Info); isVariable(ref stmt);///for checking if its variable then it must be enclosed within print(); //27May2015 check if command is graphic and get its height width and then reopen graphic device with new dimensions if (lastcommandwasgraphic)//listed graphic { if (imgDim!=null && imgDim.overrideImgDim) { CloseGraphicsDevice(); OpenGraphicsDevice(imgDim.imagewidth, imgDim.imageheight); // get image dimenstion from external source for this particular graphic. } } cmd.CommandSyntax = stmt;// command o = analytics.ExecuteR(cmd, false, false); //// get Direct Result and write in sink file CommandRequest cmdprn = new CommandRequest(); if (o != null && o.ToString().Contains("Error"))//for writing some of the errors those are not taken care by sink. { cmdprn.CommandSyntax = "write(\"" + o.ToString() + "\",fp)";// http://www.w3schools.com/xml/xml_syntax.asp o = analytics.ExecuteR(cmdprn, false, false); /// for printing command in file ///if there is error in assignment, like RHS caused error and LHS var is never updated ///Better make LHS var null. string lhvar = string.Empty; GetLeftHandVar(stmt, out lhvar); if (lhvar != null) { cmd.CommandSyntax = lhvar+" <- NULL";// assign null o = analytics.ExecuteR(cmd, false, false); } } } if (AdvancedLogging) logService.WriteToLogLevel("ExtraLogs: After Executing in R.", LogLevelEnum.Info); }
private bool ExecuteBSkyLoadRefreshDataframe(string stmt)//13Feb2014 { CommandRequest cmd = new CommandRequest(); int start = stmt.IndexOf('('); int end = stmt.IndexOf(')'); string parameters = stmt.Substring(start + 1, end - start - 1); //parameters can be 1 or 2 (if 2 params, then one is bool) // IMPORTANT :: Assumed that max parameters are 2. One is optional bool parameter. string[] eachparam = parameters.Split(','); string dataframename = string.Empty; string boolparam = string.Empty; if (eachparam.Length==2) { //either of the two is dataframe name if (eachparam[1].Contains("load.dataframe") || eachparam[1].Contains("TRUE") || eachparam[1].Contains("FALSE")) { dataframename = eachparam[0]; boolparam = eachparam[1]; } else // if bool is passed as first parameter and dataframe name as second param. { dataframename = eachparam[1]; boolparam = eachparam[0]; } } else if (eachparam.Length == 1)//only one madatory param is passed which is dataframe name { dataframename = eachparam[0]; boolparam = "TRUE"; } /////get dataframe name if (dataframename.Contains("="))//dframe="Dataset1" { dataframename = dataframename.Substring(dataframename.IndexOf("=") + 1); } dataframename = dataframename.Trim(); //09Jun2015 if dataframename is not passed that means there is no need to load/refresh dataframe if (dataframename.Length < 1) { return true; } ///get bool parama value if (boolparam.Contains("="))//dframe="Dataset1" { boolparam = boolparam.Substring(boolparam.IndexOf("=") + 1); } boolparam = boolparam.Trim(); if (boolparam.Contains("FALSE"))//do not refresh dataframe { return true; } cmd.CommandSyntax = "exists('" + dataframename + "')";//check if that dataset exists in memory. object o1 = analytics.ExecuteR(cmd, true, false); if (o1.ToString().ToLower().Equals("true")) // if found, check if data.frame type. then load it { cmd.CommandSyntax = "is.data.frame(" + dataframename + ")";//check if its 'data.frame' type. object o2 = analytics.ExecuteR(cmd, true, false); if (o2.ToString().ToLower().Equals("true")) // if data.frame type { FileOpenCommand foc = new FileOpenCommand(); return foc.OpenDataframe(dataframename); } else { return false; } } else { return false; } }
protected override void OnExecute(object param) { BSkyMouseBusyHandler.ShowMouseBusy();//ShowProgressbar_old(); IUnityContainer container = LifetimeService.Instance.Container; IDataService service = container.Resolve <IDataService>(); IUIController controller = container.Resolve <IUIController>(); if (controller.GetActiveDocument().isUnprocessed) { NewDatasetProcessor procDS = new NewDatasetProcessor(); bool isProcessed = procDS.ProcessNewDataset("", true); if (isProcessed)//true:empty rows cols removed successfully. False: whole dataset was empty and nothing was removed. { controller.GetActiveDocument().isUnprocessed = false; } else { BSkyMouseBusyHandler.HideMouseBusy(); MessageBox.Show("The dataset is empty. Please populate the dataset and save the file.", "Empty Dataset", MessageBoxButton.OK, MessageBoxImage.Information); return; } } //Get current filetype from loaded dataset. This is file extension and Filter DataSource actds = controller.GetActiveDocument();//06Nov2012 if (actds == null) { return; } string datasetName = "" + actds.Name;//uadatasets$lst$ //string datasetName = "uadatasets$lst$" + controller.GetActiveDocument().Name; //Also try to get the filename of currently loaded file. This is FileName. string extension = controller.GetActiveDocument().Extension; string filename = controller.GetActiveDocument().FileName; SaveFileDialog saveasFileDialog = new SaveFileDialog(); saveasFileDialog.Filter = FileNameFilter; //CheckBox cbox = new CheckBox(); //saveasFileDialog.FileName = filename;////// Window1 appwin = LifetimeService.Instance.Container.Resolve <Window1>(); bool? output = saveasFileDialog.ShowDialog(appwin);//Application.Current.MainWindow); if (output.HasValue && output.Value) { //If the filename provided by user matches to any of the dataset's disk filename, currently open // in the grid then we must not let user overwrite // and inform him/her to first close the dataset whose filename matches and then try Save-As again. // //Only thing that may confuse users is, in the first Microsoft-SaveAs dialog they already decided //to overwrite an existing file (which happens to be loaded in the grid also) but we prompt them //again telling that the file is open in the grid and skip the SaveAs operation with message. // List <string> dsfnames = controller.GetAllOpenDatasetsInGrid(); if (dsfnames.Contains(saveasFileDialog.FileName)) { BSkyMouseBusyHandler.HideMouseBusy(); string fullpathfilename = saveasFileDialog.FileName; string filenameonly = Path.GetFileName(saveasFileDialog.FileName); //The filenameonly dataset (fullpathfilename) is already open in the datagrid. Close the dataset first and then try Save-As again. MessageBox.Show(BSky.GlobalResources.Properties.Resources.The + " \'" + filenameonly + "\' " + BSky.GlobalResources.Properties.Resources.Dtaset + " (" + fullpathfilename + ") " + BSky.GlobalResources.Properties.Resources.OverwritingOpenDatasetNotallowed, BSky.GlobalResources.Properties.Resources.SaveAsFailed, MessageBoxButton.OK, MessageBoxImage.Asterisk); return; } service.SaveAs(saveasFileDialog.FileName, controller.GetActiveDocument()); // #0 controller.GetActiveDocument().Changed = false; //21Mar2014 during close it should not prompt again for saving if (saveasFileDialog.FileName.ToLower().EndsWith("sav")) //12Feb2018 we dont want to open SaveAs-ed SAV files. { MessageBox.Show(BSky.GlobalResources.Properties.Resources.SaveAsSucces + saveasFileDialog.FileName, BSky.GlobalResources.Properties.Resources.Saved, MessageBoxButton.OK, MessageBoxImage.Asterisk); } else if (System.IO.File.Exists(saveasFileDialog.FileName)) { //Close current Dataset on whic Save As was run FileCloseCommand fcc = new FileCloseCommand(); fcc.CloseDataset(false); //Open Dataset that was SaveAs-ed. FileOpenCommand fo = new FileOpenCommand(); fo.FileOpen(saveasFileDialog.FileName, true); } else { BSkyMouseBusyHandler.HideMouseBusy();//HideProgressbar_old(); MessageBox.Show(BSky.GlobalResources.Properties.Resources.SaveAsFailed + saveasFileDialog.FileName, BSky.GlobalResources.Properties.Resources.InternalError, MessageBoxButton.OK, MessageBoxImage.Asterisk); } } BSkyMouseBusyHandler.HideMouseBusy();//HideProgressbar_old(); }
"|R Object (*.RData)|*.RData";//"Excel 2003 (*.xls)|*.xls " + protected override void OnExecute(object param) { BSkyMouseBusyHandler.ShowMouseBusy();//ShowProgressbar_old(); IUnityContainer container = LifetimeService.Instance.Container; IDataService service = container.Resolve <IDataService>(); IUIController controller = container.Resolve <IUIController>(); //Get current filetype from loaded dataset. This is file extension and Filter DataSource actds = controller.GetActiveDocument();//06Nov2012 if (actds == null) { return; } string datasetName = "" + actds.Name;//uadatasets$lst$ //string datasetName = "uadatasets$lst$"+controller.GetActiveDocument().Name; //Also try to get the filename of currently loaded file. This is FileName. string extension = controller.GetActiveDocument().Extension.ToLower(); string filename = controller.GetActiveDocument().FileName; string filter = null; switch (extension) { case "csv": filter = "Comma Seperated (*.csv)|*.csv"; break; case "xls": filter = "Excel 2003 (*.xls)|*.xls"; break; case "xlsx": filter = "Excel 2007-2010 (*.xlsx)|*.xlsx"; break; case "dbf": filter = "DBF (*.dbf)|*.dbf"; break; case "rdata": filter = "R Object (*.RData)|*.RData"; break; default: filter = "All Files(*.*)|*.*"; break; } if (extension.Equals("sav") || extension.Trim().Length == 0)//show save-as dialog if current loaded file is SPSS file or memory dataframe(RData file) { SaveFileDialog saveasFileDialog = new SaveFileDialog(); saveasFileDialog.Filter = FileNameFilter; Window1 appwin = LifetimeService.Instance.Container.Resolve <Window1>(); bool? output = saveasFileDialog.ShowDialog(appwin);//Application.Current.MainWindow); if (output.HasValue && output.Value) { service.SaveAs(saveasFileDialog.FileName, controller.GetActiveDocument()); // #0 controller.GetActiveDocument().Changed = false; //21Mar2014 during close it should not prompt again for saving if (saveasFileDialog.FileName.ToLower().EndsWith("sav")) //12Feb2018 we dont want to open SaveAs-ed SAV files. { MessageBox.Show(BSky.GlobalResources.Properties.Resources.SaveAsSucces + saveasFileDialog.FileName, BSky.GlobalResources.Properties.Resources.Saved, MessageBoxButton.OK, MessageBoxImage.Asterisk); } else if (System.IO.File.Exists(saveasFileDialog.FileName)) { //Close current Dataset on whic Save As was run FileCloseCommand fcc = new FileCloseCommand(); fcc.CloseDataset(false); //Open Dataset that was SaveAs-ed. FileOpenCommand fo = new FileOpenCommand(); fo.FileOpen(saveasFileDialog.FileName, true); } else { BSkyMouseBusyHandler.HideMouseBusy();//HideProgressbar_old(); MessageBox.Show(BSky.GlobalResources.Properties.Resources.SaveAsFailed + saveasFileDialog.FileName, BSky.GlobalResources.Properties.Resources.InternalError, MessageBoxButton.OK, MessageBoxImage.Asterisk); } } } else if (extension.Equals("xls"))//we are using write.xlsx() from openxlsx package so we can save to XLSX format only and not to XLS. { MessageBoxResult mbr = MessageBox.Show(BSky.GlobalResources.Properties.Resources.CantSaveAsExcel, BSky.GlobalResources.Properties.Resources.SaveToOtherFormat, MessageBoxButton.OKCancel, MessageBoxImage.Asterisk); if (mbr == MessageBoxResult.OK) { SaveFileDialog saveasFileDialog = new SaveFileDialog(); saveasFileDialog.Filter = FileNameFilter; Window1 appwin = LifetimeService.Instance.Container.Resolve <Window1>(); bool? output = saveasFileDialog.ShowDialog(appwin);//Application.Current.MainWindow); if (output.HasValue && output.Value) { service.SaveAs(saveasFileDialog.FileName, controller.GetActiveDocument()); // #0 controller.GetActiveDocument().Changed = false; //21Mar2014 during close it should not prompt again for saving if (System.IO.File.Exists(saveasFileDialog.FileName)) { //Close current Dataset on which Save As was run FileCloseCommand fcc = new FileCloseCommand(); fcc.CloseDataset(false); //Open Dataset that was SaveAs-ed. FileOpenCommand fo = new FileOpenCommand(); fo.FileOpen(saveasFileDialog.FileName); } else { BSkyMouseBusyHandler.HideMouseBusy();//HideProgressbar_old(); MessageBox.Show(BSky.GlobalResources.Properties.Resources.SaveAsFailed + saveasFileDialog.FileName, BSky.GlobalResources.Properties.Resources.InternalError, MessageBoxButton.OK, MessageBoxImage.Asterisk); } } } else { return; } } else { service.SaveAs(filename, controller.GetActiveDocument()); // #0 controller.GetActiveDocument().Changed = false; //21Mar2014 during close it should not prompt again for saving } BSkyMouseBusyHandler.HideMouseBusy(); //HideProgressbar_old(); }
protected override void OnExecute(object param) { BSkyMouseBusyHandler.ShowMouseBusy();//ShowProgressbar_old(); IUnityContainer container = LifetimeService.Instance.Container; IDataService service = container.Resolve <IDataService>(); IUIController controller = container.Resolve <IUIController>(); if (controller.GetActiveDocument().isUnprocessed) { NewDatasetProcessor procDS = new NewDatasetProcessor(); bool isProcessed = procDS.ProcessNewDataset("", true); if (isProcessed)//true:empty rows cols removed successfully. False: whole dataset was empty and nothing was removed. { controller.GetActiveDocument().isUnprocessed = false; } else { BSkyMouseBusyHandler.HideMouseBusy(); MessageBox.Show("The dataset is empty. Please populate the dataset and save the file.", "Empty Dataset", MessageBoxButton.OK, MessageBoxImage.Information); return; } } //Get current filetype from loaded dataset. This is file extension and Filter DataSource actds = controller.GetActiveDocument();//06Nov2012 if (actds == null) { return; } string datasetName = "" + actds.Name;//uadatasets$lst$ //string datasetName = "uadatasets$lst$" + controller.GetActiveDocument().Name; //Also try to get the filename of currently loaded file. This is FileName. string extension = controller.GetActiveDocument().Extension; string filename = controller.GetActiveDocument().FileName; SaveFileDialog saveasFileDialog = new SaveFileDialog(); saveasFileDialog.Filter = FileNameFilter; //CheckBox cbox = new CheckBox(); //saveasFileDialog.FileName = filename;////// Window1 appwin = LifetimeService.Instance.Container.Resolve <Window1>(); bool? output = saveasFileDialog.ShowDialog(appwin);//Application.Current.MainWindow); if (output.HasValue && output.Value) { service.SaveAs(saveasFileDialog.FileName, controller.GetActiveDocument()); // #0 controller.GetActiveDocument().Changed = false; //21Mar2014 during close it should not prompt again for saving if (System.IO.File.Exists(saveasFileDialog.FileName)) { //Close current Dataset on whic Save As was run FileCloseCommand fcc = new FileCloseCommand(); fcc.CloseDataset(false); //Open Dataset that was SaveAs-ed. FileOpenCommand fo = new FileOpenCommand(); fo.FileOpen(saveasFileDialog.FileName); } else { BSkyMouseBusyHandler.HideMouseBusy();//HideProgressbar_old(); MessageBox.Show(BSky.GlobalResources.Properties.Resources.SaveAsFailed + saveasFileDialog.FileName, BSky.GlobalResources.Properties.Resources.InternalError, MessageBoxButton.OK, MessageBoxImage.Asterisk); } } BSkyMouseBusyHandler.HideMouseBusy();//HideProgressbar_old(); }