Exemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="defines"></param>
        /// <returns></returns>
        protected bool DoClearGroups(params int[] defines)
        {
            if (defines.Length < 1)
            {
                throw new BCFException("defines 参数不能为空");
            }

            GroupM           g  = new GroupM();
            Resource_LinkedM rl = new Resource_LinkedM();
            User_LinkedM     ul = new User_LinkedM();

            QView pgidS = g.Where(g.R_PGID.In(defines)).SubSelect(g.PGID);

            bool temp = true;

            //清理,与功能间的关联
            //
            temp = rl.Where(rl.LK_OBJT_ID.In(pgidS))
                   .And(rl.LK_OBJT == Group.LK_OBJT)
                   .Delete() && temp;

            //清理,与用户之间的关联
            //
            temp = ul.Where(ul.LK_OBJT_ID.In(pgidS))
                   .And(ul.LK_OBJT == Group.LK_OBJT)
                   .Delete() && temp;

            //清空组
            //
            temp = g.Where(g.R_PGID.In(defines)).Delete() && temp;

            return(temp);
        }
Exemplo n.º 2
0
            public override void FillGroupView(int groupPosition, QView section)
            {
                var view = section.PlatformView as TextViewWithIcon;

                switch (groupPosition)
                {
                case 0:
                    view.Title.SetText("PERSONAL INFORMATION");
                    view.Icon.SetText(Icons.PersonalInfo);
                    break;

                case 1:
                    view.Title.SetText("CONTACT INFORMATION");
                    view.Icon.SetText(Icons.ContactInfo);
                    break;

                case 2:
                    view.Title.SetText("");
                    view.Icon.SetText("");
                    break;

                case 3:
                    view.Title.SetText("");
                    view.Icon.SetText("");
                    break;
                }
            }
Exemplo n.º 3
0
        protected bool DoRemoveGroup(int p_pgid, QDbTran tran)
        {
            if (p_pgid == 0)
            {
                throw new BCFException("参数异常:(p_pgid == 0)");
            }

            //-------------------------------------
            //删除圈子
            //
            GroupM g = new GroupM();

            QView lkidView = g.Where(g.P_PGID == p_pgid).SubSelect(g.PGID);

            //1. 清除与Resource这间的连接
            //
            ResourceService.G.RemoveLink(lkidView, tran);

            //2. 清除与User这间的连接
            //
            UserService.G.RemoveLink(lkidView, tran);

            //3. 删除圈子
            //
            g.Where(g.P_PGID == p_pgid).Delete(tran);

            return(true);
        }
Exemplo n.º 4
0
        protected object QPage(Dict args, string content, string heading, string style)
        {
            var page = new QView();

            page.heading(heading == "" ? this.heading : heading);
            page.add(content);
            return(page.convert("page"));
        }
Exemplo n.º 5
0
        public bool RemoveLink(QView lkidView, QDbTran tran)
        {
            User_LinkedM ul = new User_LinkedM();

            return(ul.Where(ul.LK_OBJT == Group.LK_OBJT)
                   .And(ul.LK_OBJT_ID.In(lkidView))
                   .Delete(tran));
        }
Exemplo n.º 6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="rsid"></param>
        /// <param name="puid"></param>
        /// <returns></returns>
        public static PExpress ExpressOfUser(int rsid, int puid)
        {
            if (rsid < 1 || puid < 1)
            {
                return(PExpress.Null);
            }

            SQuery           SQ = BCF_PARAMS.NewSQ();
            ResourceExView   rv = new ResourceExView(true);
            Resource_LinkedM rl = new Resource_LinkedM();

            //------>>找出属于用户所在组(部门,角色)
            QView tempView = GroupService.G.GetInGroupsSQ(puid, false, true).SubSelect().As("A");

            //-------<<

            //------>>找出属于用户个人所有的RSID
            tempView = SQ.From(rl)
                       .Where(rl.RSID == rsid)
                       .BeginAnd()
                       .Begin(rl.LK_OBJT == User.LK_OBJT)
                       .And(rl.LK_OBJT_ID == puid)
                       .End()
                       .BeginOr(rl.LK_OBJT == Group.LK_OBJT)
                       .And(rl.LK_OBJT_ID.In(tempView))
                       .End()
                       .End()
                       .SubSelect(rl.RSID, rl.P_Express).As(rl.AsName);
            //------<<

            int pex = SQ.From(rv)
                      .Join(tempView, JoinType.Inner)
                      .On(rv.RSID == rl.RSID)
                      .Where(rv.Is_Disabled != 1).And(rv.PKG_Is_Disabled != true)
                      .SelectValue <int>(rl.P_Express.Max(), 0);

            //------<<


            //--------------------------------------------------------------------------

            switch (pex)
            {
            case 1:
                return(PExpress.ReadOnly);

            case 2:
                return(PExpress.Write);

            case 4:
                return(PExpress.Control);

            default:
                return(PExpress.Null);
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// 清除与某一类组之间的关联
        /// </summary>
        /// <param name="puid">用户ID</param>
        /// <param name="groupDefine">组定义</param>
        /// <param name="tran">事务</param>
        /// <returns>是否成功</returns>
        public static bool ClearGroupLinked(int puid, int groupDefine, QDbTran tran)
        {
            GroupM g     = new GroupM();
            QView  pgidS = g.Where(g.R_PGID == groupDefine).SubSelect(g.PGID);

            User_LinkedM ul = new User_LinkedM();

            //清理,与用户之间的关联
            //
            return(ul.Where(ul.LK_OBJT_ID.In(pgidS))
                   .And(ul.LK_OBJT == Group.LK_OBJT)
                   .And(ul.PUID == puid)
                   .Delete(tran));
        }
Exemplo n.º 8
0
 private BindingAction <T> ProcessError <T>()
 {
     return((t, s) =>
     {
         var view = QView.Wrap <QEditText>(t.Owner);
         if (s.HasErrors)
         {
             view.SetTextColor(Theme.Colors.Error);
         }
         else
         {
             view.SetTextColor(Theme.Colors.TableFieldText);
         }
     });
 }
Exemplo n.º 9
0
        private SQuery _SQ_GetInUserResources(int puid, params int[] packageIds)
        {
            if (puid <= 0)
            {
                throw new BCFException("GetInUserResources(puid)::@puid 必须大于0");
            }

            ResourceExView   rv = new ResourceExView(false);
            Resource_LinkedM rl = new Resource_LinkedM();
            SQuery           SQ = NewSQ();

            //------>>找出属于用户所在组(部门,角色)
            QView tempView = GroupService.G.GetInGroupsSQ(puid, false, true).SubSelect();

            //-------<<

            //------>>找出属于用户个人所有的RSID
            tempView = SQ.From(rl)
                       .BeginWhere(rl.LK_OBJT == User.LK_OBJT)
                       .And(rl.LK_OBJT_ID == puid)
                       .End()
                       .BeginOr(rl.LK_OBJT == Group.LK_OBJT)
                       .And(rl.LK_OBJT_ID.In(tempView))
                       .End()
                       .SubSelect(rl.RSID, rl.LK_OBJT, rl.P_Express).As("RL");
            //------<<

            SQ.From(rv)
            .Join(tempView, JoinType.Inner)
            .On(rv.RSID == tempView.Column(rl.RSID))
            .Where(rv.Is_Disabled != 1)
            .And(rv.PKG_Is_Disabled == false);

            if (packageIds.Length > 0)
            {
                SQ.And(rv.PGID.In(packageIds));
            }

            SQ.Distinct();

            this._Sort(SQ, rv);

            return(SQ);
        }
Exemplo n.º 10
0
        /// <summary>
        /// 获取用户所在组的连接
        /// </summary>
        /// <param name="puid"></param>
        /// <param name="tran"></param>
        /// <returns></returns>
        public List <Resource_Linked> GetInGroupOfUserLinked(int puid, QDbTran tran)
        {
            if (puid < 1)
            {
                return(null);
            }

            Resource_LinkedM rl = new Resource_LinkedM();
            User_LinkedM     ul = new User_LinkedM();

            QView ulv = ul.Where(ul.PUID == puid).And(ul.LK_OBJT == Group.LK_OBJT).SubSelect().As("T0");

            SQuery sq = new SQuery();

            return
                (sq.From(ulv)
                 .InnerJoin(rl).On(ul.LK_OBJT_ID == rl.LK_OBJT_ID)
                 .And(rl.LK_OBJT == Group.LK_OBJT)
                 .Select <Resource_Linked>(rl.RSID, rl.LK_OBJT_ID, rl.LK_OBJT, rl.LK_Operate, rl.P_Express));
        }
 public void PropertiesQuery()
 {
     QView.ShowActiveUnionSubQueryProperties();
 }
Exemplo n.º 12
0
 public override void FillChildView(int groupPosition, int childPosition, QView item)
 {
 }
Exemplo n.º 13
0
 public CustomParentNode(QView view)
     : base(view.Name)
 {
     this.view = view;
 }
Exemplo n.º 14
0
        internal bool RemoveLink(QView lkidView, QDbTran tran)
        {
            Resource_LinkedM rl = new Resource_LinkedM();

            return(rl.Where(rl.LK_OBJT_ID.In(lkidView)).Delete(tran));
        }