Пример #1
0
        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);
        }
Пример #2
0
        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);
        }