Esempio n. 1
0
        /// <summary>
        /// Check and set attribute based on attributes dictionary
        /// </summary>
        /// <param name="attribute"></param>
        /// <param name="value"></param>
        private void SetAttribute(CVParam cvParam, Scan scan, Precursor precursor)
        {
            string member = "";
            object o      = null;

            if (scanAttrs.ContainsKey(cvParam.Name))
            {
                member = scanAttrs[cvParam.Name];
                o      = scan;
            }
            else if (precursorAttrs.ContainsKey(cvParam.Name))
            {
                member = precursorAttrs[cvParam.Name];
                o      = precursor;
            }

            if (member == "")
            {
                return;
            }

            var prop  = o.GetType().GetProperty(member);
            var value = Convert.ChangeType(cvParam.Value, prop.PropertyType);

            prop.SetValue(o, value);
        }
Esempio n. 2
0
        // Reads a CV param tag into the CVParam struct
        // <cvParam cvRef="PSI-MS" accession="MS:1000045"
        //   name="collision energy" value="24.46"
        //   unitCvRef="UO" unitAccession="UO:0000266" unitName="electronvolt"/>
        private CVParam ReadCVParam()
        {
            var data = new CVParam();

            while (Reader.MoveToNextAttribute())
            {
                switch (Reader.Name)
                {
                case "cvRef":
                    data.CVRef = Reader.Value;
                    break;

                case "accession":
                    data.Accession = Reader.Value;
                    break;

                case "name":
                    data.Name = Reader.Value;
                    break;

                case "value":
                    data.Value = Reader.Value;
                    break;

                case "unitCvRef":
                    data.UnitCvRef = Reader.Value;
                    break;

                case "unitAccession":
                    data.UnitAccession = Reader.Value;
                    break;

                case "unitName":
                    data.UnitName = Reader.Value;
                    break;
                }
            }
            return(data);
        }