private SourceInfo[] getSourceInfo(FileInfo fileInfo, bool getDetails)
        {
            var sourceInfoList = new List <SourceInfo>();

            sourceInfoList.Add(new SourceInfo());
            sourceInfoList[0].type         = getSourceType(fileInfo);
            sourceInfoList[0].name         = fileInfo.Name;
            sourceInfoList[0].hasDetails   = getDetails;
            sourceInfoList[0].size         = (UInt64)fileInfo.Length;
            sourceInfoList[0].dateModified = fileInfo.LastWriteTime;
            if (sourceInfoList[0].type != String.Empty)
            {
                if (!getDetails)
                {
                    return(sourceInfoList.ToArray());
                }

                try
                {
                    ReaderList readerList   = ReaderList.FullReaderList;
                    var        readerConfig = new ReaderConfig
                    {
                        simAsSpectra = Properties.Settings.Default.SimAsSpectra,
                        srmAsSpectra = Properties.Settings.Default.SrmAsSpectra,
                        combineIonMobilitySpectra = Properties.Settings.Default.CombineIonMobilitySpectra,
                        ignoreZeroIntensityPoints = Properties.Settings.Default.IgnoreZeroIntensityPoints,
                        acceptZeroLengthSpectra   = Properties.Settings.Default.AcceptZeroLengthSpectra,
                        allowMsMsWithoutPrecursor = false
                    };

                    MSDataList msInfo = new MSDataList();
                    readerList.read(fileInfo.FullName, msInfo, readerConfig);

                    foreach (MSData msData in msInfo)
                    {
                        SourceInfo sourceInfo = new SourceInfo();
                        sourceInfo.type = sourceInfoList[0].type;
                        sourceInfo.name = sourceInfoList[0].name;
                        if (msInfo.Count > 1)
                        {
                            sourceInfo.name += " (" + msData.run.id + ")";
                        }
                        sourceInfo.populateFromMSData(msData);
                        sourceInfoList.Add(sourceInfo);
                    }
                } catch
                {
                    sourceInfoList[0].spectra = 0;
                    sourceInfoList[0].type    = "Invalid " + sourceInfoList[0].type;
                }

                foreach (SourceInfo sourceInfo in sourceInfoList)
                {
                    sourceInfo.size         = (UInt64)fileInfo.Length;
                    sourceInfo.dateModified = fileInfo.LastWriteTime;
                }
                return(sourceInfoList.ToArray());
            }
            return(null);
        }
Beispiel #2
0
        public bool CheckAccessLevel(string charName, BoardAccessLevel level)
        {
            var checkname = charName.ToLower();

            if (ModeratorList.Contains(checkname))
            {
                return(true);
            }

            if (BlockList.Contains(checkname))
            {
                return(false);
            }

            switch (level)
            {
            case BoardAccessLevel.Read:
                return(ReaderList.Count == 0 || ReaderList.Contains(checkname) || WriterList.Contains(checkname));

            case BoardAccessLevel.Write:
                return(WriterList.Count == 0 || WriterList.Contains(checkname));

            case BoardAccessLevel.Moderate:
                return(ModeratorList.Contains(checkname));
            }
            return(false);
        }
Beispiel #3
0
 public Form1()
 {
     InitializeComponent();
     var x = new ReaderList();
     x.CardPresented += x_CardPresented;
     x.Refresh();
 }
Beispiel #4
0
        private SourceInfo[] getSourceInfo(FileInfo fileInfo, bool getDetails)
        {
            var sourceInfoList = new List <SourceInfo>();

            sourceInfoList.Add(new SourceInfo());
            sourceInfoList[0].type         = getSourceType(fileInfo);
            sourceInfoList[0].name         = fileInfo.Name;
            sourceInfoList[0].hasDetails   = getDetails;
            sourceInfoList[0].size         = (UInt64)fileInfo.Length;
            sourceInfoList[0].dateModified = fileInfo.LastWriteTime;
            if (sourceInfoList[0].type != String.Empty)
            {
                if (!getDetails)
                {
                    return(sourceInfoList.ToArray());
                }

                try
                {
                    ReaderList readerList   = ReaderList.FullReaderList;
                    var        readerConfig = new ReaderConfig
                    {
                        simAsSpectra = Program.SimAsSpectra,
                        srmAsSpectra = Program.SrmAsSpectra
                    };

                    MSDataList msInfo = new MSDataList();
                    readerList.read(fileInfo.FullName, msInfo, readerConfig);

                    foreach (MSData msData in msInfo)
                    {
                        SourceInfo sourceInfo = new SourceInfo();
                        sourceInfo.type = sourceInfoList[0].type;
                        sourceInfo.name = sourceInfoList[0].name;
                        if (msInfo.Count > 1)
                        {
                            sourceInfo.name += " (" + msData.run.id + ")";
                        }
                        sourceInfo.populateFromMSData(msData);
                        sourceInfoList.Add(sourceInfo);
                    }
                } catch
                {
                    sourceInfoList[0].spectra = 0;
                    sourceInfoList[0].type    = "Invalid " + sourceInfoList[0].type;
                }

                foreach (SourceInfo sourceInfo in sourceInfoList)
                {
                    sourceInfo.size         = (UInt64)fileInfo.Length;
                    sourceInfo.dateModified = fileInfo.LastWriteTime;
                }
                return(sourceInfoList.ToArray());
            }
            return(null);
        }
Beispiel #5
0
        private void ReaderList_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var selectedReader = ReaderList.SelectedItem as Reader;

            if (selectedReader != null)
            {
                var window = new ReaderEditor(selectedReader);
                if (window.ShowDialog() ?? false)
                {
                    LoadBorrowedBooksList();
                    LoadReaderData();
                }
                ReaderList.UnselectAll();
            }
        }
Beispiel #6
0
 public void SetAccessLevel(string charName, BoardAccessLevel level)
 {
     if (level == BoardAccessLevel.Read)
     {
         ReaderList.Add(charName.ToLower());
     }
     if (level == BoardAccessLevel.Moderate)
     {
         ModeratorList.Add(charName.ToLower());
     }
     if (level == BoardAccessLevel.Write)
     {
         WriterList.Add(charName.ToLower());
     }
 }
        public static void Create(ReaderPlatform readerPlatform)
        {
            try
            {
                ReaderList.Load(readerPlatform);

                while (true)
                {
                    Thread.Sleep(60000);
                    ReaderList.SyncList(readerPlatform);
                    ReaderList.GetLatestNews();
                    GC.Collect();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                Create(readerPlatform);
            }
        }
Beispiel #8
0
 /// <summary>
 /// 获取数据
 /// </summary>
 public void GetDate()
 {
     try
     {
         List <SeatManage.ClassModel.AMS_Advertisement> modelList = SeatManage.Bll.AdvertisementOperation.GetAdList(null, SeatManage.EnumType.AdType.ReaderAd);
         ReaderList.Clear();
         foreach (SeatManage.ClassModel.AMS_Advertisement model in modelList)
         {
             SeatManage.ClassModel.ReaderAdvertInfo view = SeatManage.ClassModel.ReaderAdvertInfo.ToModel(model.AdContent);
             view.AdContent = model.AdContent;
             view.ID        = model.ID;
             ReaderList.Add(view);
         }
     }
     catch (Exception ex)
     {
         ErrorMessage = ex.Message;
         SeatManage.SeatManageComm.WriteLog.Write("获取学校通知失败" + ex.Message);
     }
 }
Beispiel #9
0
        public void Initialization()
        {
            ReaderList.Clear();

            string filePath = (AppDomain.CurrentDomain.BaseDirectory) + @"\obj";

            ReaderList.Add(new RakunNodeFor());

            ReaderList.Add(new RakunNodeValue()
            {
                ModuleName = "HIGH"
            });
            ReaderList.Add(new RakunNodeValue()
            {
                ModuleName = "LOW"
            });

            if (System.IO.Directory.Exists(filePath) == false)
            {
                System.IO.Directory.CreateDirectory(filePath);
            }

            System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(filePath);

            foreach (System.IO.FileInfo f in di.GetFiles())
            {
                if (System.IO.Path.GetExtension(f.FullName) == ".rkn")
                {
                    AddRakunReader(f.FullName);
                }
            }
            RaisePropertyChanged("ReaderList");


            //TestApplacation();
        }
Beispiel #10
0
        void processFile(string filename, Config config, ReaderList readers)
        {
            // read in data file
            using (var msdList = new MSDataList())
            {
                string msg = String.Format("Opening file \"{0}\" for read...", filename);
                if (LogUpdate != null)
                {
                    LogUpdate(msg, _info);
                }
                if (StatusUpdate != null)
                {
                    StatusUpdate(msg, ProgressBarStyle.Marquee, _info);
                }
                readers.read(filename, msdList);

                foreach (var msd in msdList)
                {
                    var outputFilename = config.outputFilename(filename, msd);

                    if (filename == outputFilename)
                    {
                        throw new ArgumentException("Output filepath is the same as input filepath");
                    }

                    if (StatusUpdate != null)
                    {
                        StatusUpdate("Waiting...", ProgressBarStyle.Marquee, _info);
                    }

                    // only one thread
                    lock (calculateSHA1Mutex)
                    {
                        if (LogUpdate != null)
                        {
                            LogUpdate("Calculating SHA1 checksum...", _info);
                        }
                        if (StatusUpdate != null)
                        {
                            StatusUpdate("Calculating SHA1 checksum...", ProgressBarStyle.Marquee, _info);
                        }
                        MSDataFile.calculateSHA1Checksums(msd);
                    }

                    if (LogUpdate != null)
                    {
                        LogUpdate("Processing...", _info);
                    }
                    if (StatusUpdate != null)
                    {
                        StatusUpdate("Processing...", ProgressBarStyle.Marquee, _info);
                    }

                    SpectrumListFactory.wrap(msd, config.Filters);

                    if ((msd.run.spectrumList == null) || msd.run.spectrumList.empty())
                    {
                        if ((msd.run.chromatogramList != null) && !msd.run.chromatogramList.empty())
                        {
                            msg = "Note: input contains only chromatogram data.";
                            switch (config.WriteConfig.format)
                            {
                            case MSDataFile.Format.Format_MZ5:
                            case MSDataFile.Format.Format_mzML:
                                break;

                            default:
                                msg += "  The selected output format can only represent spectra.  Consider using mzML instead.";
                                break;
                            }
                        }
                        else
                        {
                            msg = "Note: input contains no spectra or chromatogram data.";
                        }
                        if (LogUpdate != null)
                        {
                            LogUpdate(msg, _info);
                        }
                        if (StatusUpdate != null)
                        {
                            StatusUpdate(msg, ProgressBarStyle.Continuous, _info);
                        }
                    }

                    if (StatusUpdate != null && msd.run.spectrumList != null)
                    {
                        StatusUpdate(String.Format("Processing ({0} of {1})",
                                                   DataGridViewProgressCell.MessageSpecialValue.CurrentValue,
                                                   DataGridViewProgressCell.MessageSpecialValue.Maximum),
                                     ProgressBarStyle.Continuous, _info);
                    }

                    // write out the new data file
                    var ilr = new IterationListenerRegistry();
                    ilr.addListener(this, 100);
                    msg = String.Format("Writing \"{0}\"...", outputFilename);
                    if (LogUpdate != null)
                    {
                        LogUpdate(msg, _info);
                    }
                    if (StatusUpdate != null)
                    {
                        StatusUpdate(msg, ProgressBarStyle.Continuous, _info);
                    }
                    MSDataFile.write(msd, outputFilename, config.WriteConfig, ilr);
                    ilr.removeListener(this);
                }
            }
        }
Beispiel #11
0
        public void AddRakunReader(string path)
        {
            if (System.IO.Path.GetFileNameWithoutExtension(path) == "IF Equal")
            {
                System.IO.StreamReader file = new System.IO.StreamReader(path);

                RakunNodeIf reader = new RakunNodeIf();
                reader.ModuleName = System.IO.Path.GetFileNameWithoutExtension(path);
                reader.readXML(file.ReadToEnd());
                ReaderList.Add(reader);

                file.Close();
            }
            else if (System.IO.Path.GetFileNameWithoutExtension(path) == "IF Smaller")
            {
                System.IO.StreamReader file = new System.IO.StreamReader(path);

                RakunNodeIf reader = new RakunNodeIf();
                reader.ModuleName = System.IO.Path.GetFileNameWithoutExtension(path);
                reader.readXML(file.ReadToEnd());
                ReaderList.Add(reader);

                file.Close();
            }
            else if (System.IO.Path.GetFileNameWithoutExtension(path) == "IF Bigger")
            {
                System.IO.StreamReader file = new System.IO.StreamReader(path);

                RakunNodeIf reader = new RakunNodeIf();
                reader.ModuleName = System.IO.Path.GetFileNameWithoutExtension(path);
                reader.readXML(file.ReadToEnd());
                ReaderList.Add(reader);

                file.Close();
            }
            else if (System.IO.Path.GetFileNameWithoutExtension(path) == "IF Diffrent")
            {
                System.IO.StreamReader file = new System.IO.StreamReader(path);

                RakunNodeIf reader = new RakunNodeIf();
                reader.ModuleName = System.IO.Path.GetFileNameWithoutExtension(path);
                reader.readXML(file.ReadToEnd());
                ReaderList.Add(reader);

                file.Close();
            }
            else if (System.IO.Path.GetFileNameWithoutExtension(path) == "IF Diffrent")
            {
                System.IO.StreamReader file = new System.IO.StreamReader(path);

                RakunNodeIf reader = new RakunNodeIf();
                reader.ModuleName = System.IO.Path.GetFileNameWithoutExtension(path);
                reader.readXML(file.ReadToEnd());
                ReaderList.Add(reader);

                file.Close();
            }
            else if (System.IO.Path.GetFileNameWithoutExtension(path) == "Value")
            {
                System.IO.StreamReader file = new System.IO.StreamReader(path);

                RakunNodeInput reader = new RakunNodeInput();
                reader.ModuleName = System.IO.Path.GetFileNameWithoutExtension(path);
                reader.readXML(file.ReadToEnd());
                ReaderList.Add(reader);
                inputNode = reader;

                file.Close();
            }
            else
            {
                System.IO.StreamReader file = new System.IO.StreamReader(path);

                RakunWin32.Logic.RakunNodeModule reader = new Logic.RakunNodeModule();
                reader.ModuleName = System.IO.Path.GetFileNameWithoutExtension(path);
                reader.readXML(file.ReadToEnd());
                ReaderList.Add(reader);

                file.Close();
            }
        }
Beispiel #12
0
        void processFile(string filename, Config config, ReaderList readers, Map <string, int> usedOutputFilenames)
        {
            // read in data file
            using (var msdList = new MSDataList())
            {
                string msg = String.Format("Opening file \"{0}\" for read...", filename);
                var    stripCredentialsMatch = Regex.Match(filename, "https?://([^:]+:[^@]+@).*", RegexOptions.CultureInvariant | RegexOptions.IgnoreCase);
                if (stripCredentialsMatch.Success)
                {
                    msg = msg.Replace(stripCredentialsMatch.Groups[1].Value, "");
                }

                LogUpdate?.Invoke(msg, _info);
                StatusUpdate?.Invoke(msg, ProgressBarStyle.Marquee, _info);
                readers.read(filename, msdList, config.ReaderConfig);

                foreach (var msd in msdList)
                {
                    try
                    {
                        var    outputFilename       = config.outputFilename(filename, msd);
                        string deduplicatedFilename = outputFilename;

                        StatusUpdate?.Invoke("Waiting...", ProgressBarStyle.Marquee, _info);

                        // only one thread
                        lock (_calculateSHA1Mutex)
                        {
                            // if output name is same as input name, add a suffix
                            if (filename == outputFilename)
                            {
                                ++usedOutputFilenames[outputFilename];
                            }

                            if (usedOutputFilenames.Contains(deduplicatedFilename))
                            {
                                deduplicatedFilename = deduplicatedFilename.Replace(Path.GetExtension(outputFilename), String.Format(" ({0}).{1}", usedOutputFilenames[outputFilename] + 1, Path.GetExtension(outputFilename)));
                            }
                            ++usedOutputFilenames[outputFilename];

                            LogUpdate?.Invoke("Calculating SHA1 checksum...", _info);
                            StatusUpdate?.Invoke("Calculating SHA1 checksum...", ProgressBarStyle.Marquee, _info);
                            MSDataFile.calculateSHA1Checksums(msd);
                        }

                        var ilr = new IterationListenerRegistry();
                        ilr.addListenerWithTimer(this, 1);

                        LogUpdate?.Invoke("Processing...", _info);
                        StatusUpdate?.Invoke("Processing...", ProgressBarStyle.Marquee, _info);

                        SpectrumListFactory.wrap(msd, config.Filters, ilr);

                        config.WriteConfig.useWorkerThreads = msd.run.spectrumList.benefitsFromWorkerThreads();

                        if ((msd.run.spectrumList == null) || msd.run.spectrumList.empty())
                        {
                            if ((msd.run.chromatogramList != null) && !msd.run.chromatogramList.empty())
                            {
                                msg = "Note: input contains only chromatogram data.";
                                switch (config.WriteConfig.format)
                                {
                                case MSDataFile.Format.Format_MZ5:
                                case MSDataFile.Format.Format_mzML:
                                    break;

                                default:
                                    msg += "  The selected output format can only represent spectra.  Consider using mzML instead.";
                                    break;
                                }
                            }
                            else
                            {
                                msg = "Note: input contains no spectra or chromatogram data.";
                            }
                            LogUpdate?.Invoke(msg, _info);
                            StatusUpdate?.Invoke(msg, ProgressBarStyle.Continuous, _info);
                        }

                        if (StatusUpdate != null && msd.run.spectrumList != null)
                        {
                            StatusUpdate(String.Format("Processing ({0} of {1})",
                                                       DataGridViewProgressCell.MessageSpecialValue.CurrentValue,
                                                       DataGridViewProgressCell.MessageSpecialValue.Maximum),
                                         ProgressBarStyle.Continuous, _info);
                        }

                        // write out the new data file
                        msg = String.Format("Writing \"{0}\"...", deduplicatedFilename);
                        LogUpdate?.Invoke(msg, _info);
                        StatusUpdate?.Invoke(msg, ProgressBarStyle.Continuous, _info);
                        MSDataFile.write(msd, deduplicatedFilename, config.WriteConfig, ilr);
                        ilr.removeListener(this);
                    }
                    finally
                    {
                        msd.Dispose();
                    }
                }
            }
        }
Beispiel #13
0
 /// <summary>
 /// 注册数据读执行者
 /// </summary>
 /// <param name="item"></param>
 public void RegistReader(AbstractReader item)
 {
     ReaderList.Add(item);
 }
Beispiel #14
0
        void processFile(string filename, Config config, ReaderList readers)
        {
            if (LogUpdate != null)
            {
                LogUpdate("Opening file...", _info);
            }
            if (StatusUpdate != null)
            {
                StatusUpdate("Opening file...", ProgressBarStyle.Marquee, _info);
            }

            // read in data file
            using (var msdList = new MSDataList())
            {
                readers.read(filename, msdList);

                foreach (var msd in msdList)
                {
                    var outputFilename = config.outputFilename(filename, msd);

                    if (filename == outputFilename)
                    {
                        throw new ArgumentException("Output filepath is the same as input filepath");
                    }

                    if (LogUpdate != null)
                    {
                        LogUpdate("Calculating SHA1 checksum...", _info);
                    }
                    if (StatusUpdate != null)
                    {
                        StatusUpdate("Calculating SHA1 checksum...", ProgressBarStyle.Marquee, _info);
                    }

                    // only one thread
                    lock (calculateSHA1Mutex)
                        MSDataFile.calculateSHA1Checksums(msd);

                    if (LogUpdate != null)
                    {
                        LogUpdate("Processing...", _info);
                    }
                    if (StatusUpdate != null)
                    {
                        StatusUpdate("Processing...", ProgressBarStyle.Marquee, _info);
                    }

                    SpectrumListFactory.wrap(msd, config.Filters);
                    if (StatusUpdate != null && msd.run.spectrumList != null)
                    {
                        StatusUpdate(String.Format("Processing ({0} of {1})",
                                                   DataGridViewProgressCell.MessageSpecialValue.CurrentValue,
                                                   DataGridViewProgressCell.MessageSpecialValue.Maximum),
                                     ProgressBarStyle.Continuous, _info);
                    }

                    // write out the new data file
                    IterationListenerRegistry ilr = null;
                    ilr = new IterationListenerRegistry();
                    ilr.addListener(this, 100);
                    MSDataFile.write(msd, outputFilename, config.WriteConfig, ilr);
                }
            }
        }
Beispiel #15
0
        void processFile(string filename, Config config, ReaderList readers)
        {
            // read in data file
            using (var msdList = new MSDataList())
            {
                string msg = String.Format("Opening file \"{0}\" for read...",filename);
                if (LogUpdate != null) LogUpdate(msg, _info);
                if (StatusUpdate != null) StatusUpdate(msg, ProgressBarStyle.Marquee, _info);
                readers.read(filename, msdList);

                foreach (var msd in msdList)
                {
                    var outputFilename = config.outputFilename(filename, msd);

                    if (filename == outputFilename)
                        throw new ArgumentException("Output filepath is the same as input filepath");

                    if (StatusUpdate != null) StatusUpdate("Waiting...", ProgressBarStyle.Marquee, _info);

                    // only one thread 
                    lock (calculateSHA1Mutex)
                    {
                        if (LogUpdate != null) LogUpdate("Calculating SHA1 checksum...", _info);
                        if (StatusUpdate != null) StatusUpdate("Calculating SHA1 checksum...", ProgressBarStyle.Marquee, _info);
                        MSDataFile.calculateSHA1Checksums(msd);
                    }

                    if (LogUpdate != null) LogUpdate("Processing...", _info);
                    if (StatusUpdate != null) StatusUpdate("Processing...", ProgressBarStyle.Marquee, _info);

                    SpectrumListFactory.wrap(msd, config.Filters);

                    if ((msd.run.spectrumList == null) || msd.run.spectrumList.empty())
                    {
                        if ((msd.run.chromatogramList != null) && !msd.run.chromatogramList.empty())
                        {
                            msg = "Note: input contains only chromatogram data.";
                            switch (config.WriteConfig.format)
                            {
                                case MSDataFile.Format.Format_MZ5:
                                case MSDataFile.Format.Format_mzML:
                                    break;
                                default:
                                    msg += "  The selected output format can only represent spectra.  Consider using mzML instead.";
                                    break;
                            }
                        }
                        else
                            msg = "Note: input contains no spectra or chromatogram data.";
                        if (LogUpdate != null) LogUpdate(msg, _info);
                        if (StatusUpdate != null) StatusUpdate(msg, ProgressBarStyle.Marquee, _info);
                    }

                    if (StatusUpdate != null && msd.run.spectrumList != null)
                        StatusUpdate(String.Format("Processing ({0} of {1})", 
                                                   DataGridViewProgressCell.MessageSpecialValue.CurrentValue,
                                                   DataGridViewProgressCell.MessageSpecialValue.Maximum),
                                     ProgressBarStyle.Continuous, _info);

                    // write out the new data file
                    var ilr = new IterationListenerRegistry();
                    ilr.addListener(this, 100);
                    msg = String.Format("Writing \"{0}\"...", outputFilename);
                    if (LogUpdate != null) LogUpdate(msg, _info);
                    if (StatusUpdate != null) StatusUpdate(msg, ProgressBarStyle.Marquee, _info);
                    MSDataFile.write(msd, outputFilename, config.WriteConfig, ilr);
                    ilr.removeListener(this);
                }
            }
        }