/// <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); }
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; }
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); } }
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)); }
/// <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); } } }
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); }