Execute() public méthode

public Execute ( CommandExecutionContext context ) : void
context CommandExecutionContext
Résultat void
        public void ReportToCsv(ReportSpec reportSpec, SrmDocument doc, string fileName, CultureInfo cultureInfo)
        {
            Report report = Report.Load(reportSpec);

            using (var saver = new FileSaver(fileName))
                using (var writer = new StreamWriter(saver.SafeName))
                    using (var database = new Database(doc.Settings))
                    {
                        database.AddSrmDocument(doc);
                        var  resultSet = report.Execute(database);
                        char separator = TextUtil.GetCsvSeparator(cultureInfo);
                        ResultSet.WriteReportHelper(resultSet, separator, writer, cultureInfo);
                        writer.Flush();
                        writer.Close();
                        saver.Commit();
                    }
        }
Exemple #2
0
        public void ExecuteEventHandler(object sender, SimPe.Events.ResourceEventArgs e)
        {
            if (!ChangeEnabledStateEventHandler(null, e))
            {
                return;
            }

            SimPe.FileTable.FileIndex.Load();

            System.IO.StreamWriter sw = new System.IO.StreamWriter(new System.IO.MemoryStream());
            try
            {
                List <uint> list = new List <uint>();
                SimPe.Interfaces.Scenegraph.IScenegraphFileIndexItem[] items = SimPe.FileTable.FileIndex.FindFile(Data.MetaData.GLOB_FILE, true);
                sw.WriteLine("public static Alias[] SemiGlobals = {");
                sw.WriteLine("");
                sw.Write("    ");
                Wait.SubStart(items.Length);
                //int ct = 0;
                foreach (SimPe.Interfaces.Scenegraph.IScenegraphFileIndexItem item in items)
                {
                    SimPe.Plugin.Glob glb = new Glob();
                    glb.ProcessData(item);

                    if (list.Contains(glb.SemiGlobalGroup))
                    {
                        continue;
                    }
                    list.Add(glb.SemiGlobalGroup);


                    sw.WriteLine("new SemiGlobalAlias(true, 0x" + Helper.HexString(glb.SemiGlobalGroup) + ",\"" + glb.SemiGlobalName + "\"),");
                }
                Wait.SubStop();
                sw.WriteLine("};");

                Report f = new Report();
                f.Execute(sw);
            }
            finally
            {
                sw.Close();
            }
        }
Exemple #3
0
        /// <summary>
        /// Returns a string representation of the report based on the document.
        /// </summary>
        private string ReportToCsvString(SrmDocument doc, char separator, IProgressMonitor progressMonitor)
        {
            IProgressStatus status = new ProgressStatus(string.Format(Resources.ReportSpec_ReportToCsvString_Exporting__0__report, Name));

            progressMonitor.UpdateProgress(status);

            Report       report = Report.Load(this);
            StringWriter writer = new StringWriter();

            using (Database database = new Database(doc.Settings)
            {
                ProgressMonitor = progressMonitor,
                Status = status,
                PercentOfWait = 80
            })
            {
                database.AddSrmDocument(doc);
                status = database.Status;

                ResultSet resultSet;
                try
                {
                    resultSet = report.Execute(database);
                }
                catch (Exception)
                {
                    progressMonitor.UpdateProgress(status.Cancel());
                    throw;
                }

                progressMonitor.UpdateProgress(status = status.ChangePercentComplete(95));

                ResultSet.WriteReportHelper(resultSet, separator, writer, LocalizationHelper.CurrentCulture);
            }
            writer.Flush();
            string csv = writer.ToString();

            writer.Close();
            progressMonitor.UpdateProgress(status.Complete());

            return(csv);
        }
Exemple #4
0
        public void TestLoadReportFile()
        {
            SrmDocument srmDocument = ResultsUtil.DeserializeDocument("silac_1_to_4.sky", GetType());

            using (Database database = new Database())
                using (var streamR = GetType().Assembly.GetManifestResourceStream(GetType().Namespace + ".Study9p_template_0721_2009_v3.skyr"))
                {
                    Assert.IsNotNull(streamR);

                    database.AddSrmDocument(srmDocument);

                    ReportSpecList reportSpecList = new ReportSpecList();
                    var            xmlSerializer  = new XmlSerializer(reportSpecList.DeserialType);
                    reportSpecList = (ReportSpecList)xmlSerializer.Deserialize(streamR);
                    Report    report    = Report.Load(reportSpecList["Study 9p_0721_2009_v6"]);
                    ResultSet resultSet = report.Execute(database);
                    Assert.AreEqual(26, resultSet.ColumnInfos.Count);
                    // The file contains one transition that does not map to the imported results
                    Assert.AreEqual(srmDocument.PeptideTransitionCount / 2 - 1, resultSet.RowCount);
                }
        }
Exemple #5
0
        public void ExecuteEventHandler(object sender, SimPe.Events.ResourceEventArgs e)
        {
            if (!ChangeEnabledStateEventHandler(null, e))
            {
                return;
            }

            SimPe.FileTable.FileIndex.Load();

            System.IO.StreamWriter sw = new System.IO.StreamWriter(new System.IO.MemoryStream());
            try
            {
                foreach (SimPe.Interfaces.Files.IPackedFileDescriptor pfd in e.LoadedPackage.Package.Index)
                {
                    SimPe.Interfaces.Scenegraph.IScenegraphFileIndexItem[] fiis = FileTable.FileIndex.FindFile(pfd, e.LoadedPackage.Package);

                    if (fiis.Length != 1)
                    {
                        sw.WriteLine(GetString(pfd) + " found " + fiis.Length.ToString() + " times.");
                        foreach (SimPe.Interfaces.Scenegraph.IScenegraphFileIndexItem fii in fiis)
                        {
                            sw.WriteLine("    " + fii.Package.FileName + ": " + GetString(fii.FileDescriptor));
                        }
                    }
                    else if (fiis[0].FileDescriptor.Offset != pfd.Offset || fiis[0].FileDescriptor.Size != pfd.Size)
                    {
                        sw.WriteLine(GetString(pfd) + " " + " <> " + GetString(fiis[0].FileDescriptor));
                    }
                }

                Report f = new Report();
                f.Execute(sw);
            }
            finally
            {
                sw.Close();
            }
        }
Exemple #6
0
        private bool ExportReport(string fileName, char separator)
        {
            try
            {
                using (var saver = new FileSaver(fileName))
                {
                    if (!saver.CanSave(this))
                    {
                        return(false);
                    }

                    using (var writer = new StreamWriter(saver.SafeName))
                    {
                        Report report  = GetReport();
                        bool   success = false;

                        using (var longWait = new LongWaitDlg {
                            Text = Resources.ExportReportDlg_ExportReport_Generating_Report
                        })
                        {
                            longWait.PerformWork(this, 1500, broker =>
                            {
                                var status = new ProgressStatus(Resources.ExportReportDlg_GetDatabase_Analyzing_document);
                                broker.UpdateProgress(status);
                                Database database = EnsureDatabase(broker, 80, ref status);
                                if (broker.IsCanceled)
                                {
                                    return;
                                }
                                broker.UpdateProgress(status = status.ChangeMessage(Resources.ExportReportDlg_ExportReport_Building_report));
                                ResultSet resultSet          = report.Execute(database);
                                if (broker.IsCanceled)
                                {
                                    return;
                                }
                                broker.UpdateProgress(status = status.ChangePercentComplete(95)
                                                               .ChangeMessage(Resources.ExportReportDlg_ExportReport_Writing_report));

                                ResultSet.WriteReportHelper(resultSet, separator, writer, CultureInfo);

                                writer.Flush();
                                writer.Close();

                                if (broker.IsCanceled)
                                {
                                    return;
                                }
                                broker.UpdateProgress(status.Complete());

                                saver.Commit();
                                success = true;
                            });
                        }

                        return(success);
                    }
                }
            }
            catch (Exception x)
            {
                MessageDlg.ShowWithException(this, string.Format(Resources.ExportReportDlg_ExportReport_Failed_exporting_to, fileName, GetExceptionDisplayMessage(x)), x);
                return(false);
            }
        }
Exemple #7
0
        public void ExecuteEventHandler(object sender, SimPe.Events.ResourceEventArgs e)
        {
            if (!ChangeEnabledStateEventHandler(null, e))
            {
                return;
            }

            SimPe.FileTable.FileIndex.Load();

            System.IO.StreamWriter sw = new System.IO.StreamWriter(new System.IO.MemoryStream());
            try
            {
                System.Collections.ArrayList guids = new System.Collections.ArrayList();
                SimPe.Interfaces.Scenegraph.IScenegraphFileIndexItem[] items = SimPe.FileTable.FileIndex.FindFile(Data.MetaData.OBJD_FILE, true);
                sw.WriteLine("<?");
                sw.WriteLine("$guids = array(");
                sw.Write("    ");
                Wait.SubStart(items.Length);
                int ct = 0;
                foreach (SimPe.Interfaces.Scenegraph.IScenegraphFileIndexItem item in items)
                {
                    SimPe.PackedFiles.Wrapper.ExtObjd objd = new SimPe.PackedFiles.Wrapper.ExtObjd();
                    objd.ProcessData(item);

                    if (guids.Contains(objd.Guid))
                    {
                        continue;
                    }
                    if (objd.Type == SimPe.Data.ObjectTypes.Memory)
                    {
                        continue;
                    }
                    if (objd.Type == SimPe.Data.ObjectTypes.Person)
                    {
                        continue;
                    }

                    if (ct > 0)
                    {
                        sw.Write(",");
                    }
                    ct++;
                    Wait.Progress = ct;
                    sw.Write("array(");
                    sw.Write("0x" + Helper.HexString(objd.Guid));
                    guids.Add(objd.Guid);
                    sw.Write(", '");
                    sw.Write("Maxis: " + objd.FileName.Replace("'", "").Replace("\\", "").Replace("\"", ""));

                    /*SimPe.Interfaces.Scenegraph.IScenegraphFileIndexItem[] list = SimPe.FileTable.FileIndex.FindFile(Data.MetaData.CTSS_FILE, objd.FileDescriptor.Group, objd.CTSSInstance, null);
                     * if (list.Length==0) sw.Write(objd.FileName.Replace("'", "").Replace("\\", "").Replace("\"", ""));
                     * else
                     * {
                     *      SimPe.PackedFiles.Wrapper.Str str = new SimPe.PackedFiles.Wrapper.Str(1);
                     *      str.ProcessData(list[0]);
                     *      SimPe.PackedFiles.Wrapper.StrItemList strs = str.LanguageItems(SimPe.Data.MetaData.Languages.English);
                     *      if (strs.Count==0) sw.Write(objd.FileName.Replace("'", "").Replace("\\", "").Replace("\"", ""));
                     *      else sw.Write(strs[0].Title.Replace("'", "").Replace("\\", "").Replace("\"", ""));
                     * }*/
                    sw.WriteLine("')");
                }
                Wait.SubStop();
                sw.WriteLine(");");
                sw.WriteLine("?>");

                Report f = new Report();
                f.Execute(sw);
            }
            finally
            {
                sw.Close();
            }
        }