private static List <Privacy> _parse_settings(ref IDataReader reader) { List <Privacy> ret = new List <Privacy>(); while (reader.Read()) { try { Privacy p = new Privacy(); if (!string.IsNullOrEmpty(reader["ObjectID"].ToString())) { p.ObjectID = (Guid)reader["ObjectID"]; } if (!string.IsNullOrEmpty(reader["CalculateHierarchy"].ToString())) { p.CalculateHierarchy = (bool)reader["CalculateHierarchy"]; } if (!string.IsNullOrEmpty(reader["ConfidentialityID"].ToString())) { p.Confidentiality.ID = (Guid)reader["ConfidentialityID"]; } if (!string.IsNullOrEmpty(reader["LevelID"].ToString())) { p.Confidentiality.LevelID = (int)reader["LevelID"]; } if (!string.IsNullOrEmpty(reader["Level"].ToString())) { p.Confidentiality.Title = (string)reader["Level"]; } ret.Add(p); } catch { } } if (!reader.IsClosed) { reader.Close(); } return(ret); }
public static Privacy fromJson(Dictionary <string, object> json) { Privacy obj = new Privacy(); obj.CalculateHierarchy = PublicMethods.parse_bool(PublicMethods.get_dic_value(json, "CalculateHierarchy")); Dictionary <string, object> conf = PublicMethods.get_dic_value <Dictionary <string, object> >(json, "Confidentiality"); obj.Confidentiality.ID = PublicMethods.parse_guid(PublicMethods.get_dic_value(conf, "ID")); foreach (object a in PublicMethods.get_dic_value <ArrayList>(json, "Audience", defaultValue: new ArrayList())) { if (a.GetType() != typeof(Dictionary <string, object>)) { continue; } Audience o = Modules.Privacy.Audience.fromJson((Dictionary <string, object>)a); if (o != null) { obj.Audience.Add(o); } } foreach (object d in PublicMethods.get_dic_value <ArrayList>(json, "DefaultPermissions", defaultValue: new ArrayList())) { if (d.GetType() != typeof(Dictionary <string, object>)) { continue; } DefaultPermission o = DefaultPermission.fromJson((Dictionary <string, object>)d); if (o != null) { obj.DefaultPermissions.Add(o); } } return(obj.CalculateHierarchy.HasValue || obj.Confidentiality.ID.HasValue || obj.Audience.Count > 0 || obj.DefaultPermissions.Count > 0 ? obj : null); }