Ejemplo n.º 1
0
        public override void InsertAll()
        {
            SysUserSysUserGroup sysusers_sysusers_group = new SysUserSysUserGroup();

            string sysuser_group_ids = String.Empty;

            foreach (SysUserGroup g in this)
            {
                sysuser_group_ids += "," + g.id;
            }

            StringBuilder sql = new StringBuilder();

            sql.Append("DELETE FROM " + sysusers_sysusers_group.get_table());
            sql.Append(" WHERE sysuser_id = @sysuser_id");

            if (!String.IsNullOrEmpty(sysuser_group_ids))
            {
                sql.Append(" AND sysuser_group_id NOT IN (" + sysuser_group_ids.Substring(1) + ")");
            }

            query.AddParameter("@sysuser_id", sysuser_id);
            query.ExecuteNonQuery(sql.ToString());

            query.AddParameter("@sysuser_id", sysuser_id);
            DataTable dt = query.get_DataTable("SELECT * FROM " + sysusers_sysusers_group.get_table() + " WHERE sysuser_id = @sysuser_id");

            foreach (SysUserGroup g in this)
            {
                bool exists_in_db = false;
                foreach (DataRow row in dt.Rows)
                {
                    if (g.id == Convert.ToInt32(row["sysuser_group_id"]))
                    {
                        exists_in_db = true;
                        break;
                    }
                }

                if (!exists_in_db)
                {
                    SysUserSysUserGroup obj = new SysUserSysUserGroup();

                    if (query != null)
                    {
                        obj.query = query;
                    }

                    obj.sysuser_id       = sysuser_id;
                    obj.sysuser_group_id = g.id;

                    obj.Insert();
                }
            }
        }
Ejemplo n.º 2
0
        public static SysUserGroupCollection get_Groups(SysUser _user)
        {
            SysUserGroup           grp    = new SysUserGroup();
            SysUserSysUserGroup    sugrp  = new SysUserSysUserGroup();
            SysUserGroupCollection result = new SysUserGroupCollection();

            string sql = "SELECT grp.* FROM " + grp.get_table() + " AS grp";

            sql += "   INNER JOIN " + sugrp.get_table() + " AS sugrp";
            sql += "     ON grp.id = sugrp.sysuser_group_id";
            sql += " WHERE sugrp.sysuser_id = @sysuser_id";

            grp.query.AddParameter("@sysuser_id", _user.id);
            DataTable dt = grp.query.get_DataTable(sql);

            foreach (DataRow row in dt.Rows)
            {
                grp = new SysUserGroup();
                grp.LoadBy_array(row);

                result.Add(grp);
            }

            return(result);
        }