コード例 #1
0
        /// <summary>
        /// Processes the name of the run, and assignes data entries for matched flags
        /// </summary>
        /// <param name="_name">The name.</param>
        /// <returns></returns>
        public String ProcessRunName(String _name, reportExpandedData data)
        {
            String __name = _name;

            foreach (reportDataFlag flag in items)
            {
                List <String> match = new List <string>();
                foreach (String fl in flag.needles)
                {
                    if (__name.Contains(fl))
                    {
                        if (flag.replacement != "*")
                        {
                            __name = __name.Replace(fl, flag.replacement);
                        }
                        match.Add(fl);
                    }
                }
                if (match.Any())
                {
                    data.Add(flag.name, match.toCsvInLine(), flag.needles.ToString());
                }
            }
            return(__name);
        }
コード例 #2
0
        public static void GetSettingsFromObjectToSet(this reportExpandedData settings, Object ObjectToSet)
        {
            // reportExpandedData settings = new reportExpandedData();

            var properties = ObjectToSet.GetType().GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.DeclaredOnly);

            foreach (PropertyInfo pi in properties)
            {
                if (pi.GetIndexParameters().Length > 0)
                {
                    continue;
                }
                var    v  = pi.GetValue(ObjectToSet, new object[] { });
                String vs = "";

                if (pi.PropertyType.IsClass)
                {
                    vs = objectSerialization.ObjectToXML(v, pi.PropertyType);
                }
                else
                {
                    vs = v.ToString(); //= dict[pi.Name].value.imbConvertValueSafe(pi.PropertyType);
                }


                settings.Add(pi.Name, vs, "");
            }

            //  return settings;
        }
コード例 #3
0
        public static void SaveObjectPairs(this reportExpandedData settings, String filename_prefix, folderNode folder)
        {
            var objectPairs = settings.GetObjectPairs();

            foreach (var pair in objectPairs)
            {
                String filename = filename_prefix.add(pair.key, "_") + ".xml";
                String path     = folder.pathFor(filename, Data.enums.getWritableFileMode.overwrite, "Object XML stored in " + filename_prefix);
                File.WriteAllText(path, pair.value);
            }
        }
コード例 #4
0
        public static T GetObjectEntry <T>(this reportExpandedData settings, String key) where T : class, new()
        {
            var vs = settings.FirstOrDefault(x => x.key == key);

            if (vs == null)
            {
                return(null);
            }

            var v = vs.value;

            //objectSerialization.ObjectToXML(objectToInsert, objectToInsert.GetType());
            //settings.Add(key, v, Description);
            return(objectSerialization.ObjectFromXML <T>(v));
        }
コード例 #5
0
        /// <summary>
        /// Sets the settings from data.
        /// </summary>
        /// <param name="ObjectToSet">The ObjectToSet.</param>
        /// <param name="settings">The settings.</param>
        public static void SetSettingsFromData(this reportExpandedData settings, Object ObjectToSet)
        {
            var properties = ObjectToSet.GetType().GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.DeclaredOnly);
            var dict       = settings.GetDictionary();

            foreach (PropertyInfo pi in properties)
            {
                if (pi.GetIndexParameters().Length > 0)
                {
                    continue;
                }



                if (dict.ContainsKey(pi.Name))
                {
                    Object v = null;
                    if (pi.PropertyType.IsClass)
                    {
                        var xml = dict[pi.Name].value;
                        if (xml.Contains(pi.PropertyType.Name))
                        {
                            xml = new Regex("\\<\\?xml.*\\?>").Replace(xml, "");
                            xml = xml.Trim(Environment.NewLine.ToCharArray());

                            v = objectSerialization.ObjectOfTypeFromXML(xml, pi.PropertyType);
                        }
                    }
                    else
                    {
                        v = dict[pi.Name].value.imbConvertValueSafe(pi.PropertyType);
                    }


                    pi.SetValue(ObjectToSet, v, null);
                }
            }
        }
コード例 #6
0
        public static void AddObjectEntry(this reportExpandedData settings, String key, Object objectToInsert, String Description = "")
        {
            String vs = objectSerialization.ObjectToXML(objectToInsert, objectToInsert.GetType());

            settings.Add(key, vs, Description);
        }