/// <summary>
        /// 確認身分
        /// </summary>
        private Actor()
        {
            this._units   = new List <DAO.UnitRoleInfo>();
            this.allUnits = new List <DAO.UnitRoleInfo>();
            //1. 判斷是否是系統管理者
            checkIsAdmin();

            //2. 判斷在各單位的角色
            findUnits();

            //3. 取得所有管理單位資料
            AccessHelper access = new AccessHelper();
            List <UDT.MeetingRoomUnit> listUnit = access.Select <UDT.MeetingRoomUnit>();

            foreach (UDT.MeetingRoomUnit unit in listUnit)
            {
                DAO.UnitRoleInfo unitRole = new DAO.UnitRoleInfo(unit.UID, unit.Name, false, "");
                allUnits.Add(unitRole);
            }
        }
Example #2
0
        private void findUnits()
        {
            QueryHelper qh = new QueryHelper();

            string sql = string.Format(@"
                                    SELECT 
                                        unit.name AS unit_name
                                        , unit_admin.*
                                    FROM
                                        $ischool.booking.meetingroom_unit_admin AS unit_admin
                                        LEFT OUTER JOIN $ischool.booking.meetingroom_unit AS unit
                                            ON unit_admin.ref_unit_id = unit.uid
                                    WHERE
                                        unit_admin.account = '{0}'
                ", Actor.Account);

            DataTable dt = qh.Select(sql);

            foreach (DataRow row in dt.Rows)
            {
                string           unitID    = "" + row["ref_unit_id"];
                string           unitName  = "" + row["unit_name"];
                bool             isBoss    = ("" + row["is_boss"]) == "true" ? true : false;
                string           teacherID = "" + row["ref_teacher_id"];
                DAO.UnitRoleInfo unitRole  = new DAO.UnitRoleInfo(unitID, unitName, isBoss, teacherID);
                if (unitRole.IsBoss)
                {
                    this._isUnitBoss = true;
                }
                else
                {
                    this._isUnitAdmin = true;
                }

                this._units.Add(unitRole);
            }
        }