Exemplo n.º 1
0
        public ResponseFuncTreeCheckedGet FuncTreeCheckedGet(RequestFuncTreeCheckedGet request)
        {
            ResponseFuncTreeCheckedGet response = new ResponseFuncTreeCheckedGet();

            using (cnn = GetConnection())
            {
                var ts = cnn.BeginTransaction();
                try
                {
                    string sql   = @"WITH CTE(id,
                         name,
                        img,
                        PARENTID,seq) AS
                         (SELECT id,name,img, PARENTID,seq
                            FROM tks_fas_function
                           WHERE id = @Id
  
                          UNION ALL
                          SELECT B.id,B.name,B.img,B.PARENTID,B.Seq
                            FROM tks_fas_function B
                           INNER JOIN CTE
                              ON  B.PARENTID = CTE.id)
      
                     SELECT * FROM CTE order by seq";
                    var    funcs = cnn.Query <TKS_FAS_Function>(sql, new { Id = "-" }, ts).ToList();

                    sql = "select * from TKS_FAS_Entity2Function where type=@Type and entityId=@EntityId";

                    var checkedFuncs = cnn.Query <TKS_FAS_Entity2Function>(sql, new
                    {
                        Type     = "R",
                        EntityId = request.EntityId
                    }, ts).ToList();
                    ts.Commit();



                    TKS_FAS_TreeItem root = new TKS_FAS_TreeItem();
                    var first             = funcs.Where(p => p.Id == "-").FirstOrDefault();

                    root = Trans2TreeItem(first);
                    if (checkedFuncs.Any(p => { return(p.FunctionId == root.id && p.CheckState == "checked"); }))
                    {
                        root.@checked = true;
                    }
                    CreateTree(funcs, ref root, checkedFuncs);
                    response.Data = new List <TKS_FAS_TreeItem>();
                    response.Data.Add(root);
                    response.IsSuccess = true;
                    response.Message   = "加载完毕";
                    return(response);
                }
                catch (Exception ex)
                {
                    return(this.DealException(response, ex) as ResponseFuncTreeCheckedGet);
                }
            }
        }
Exemplo n.º 2
0
        TKS_FAS_TreeItem Trans2TreeItem(TKS_FAS_Function func)
        {
            TKS_FAS_TreeItem item = new TKS_FAS_TreeItem();

            item.id       = func.Id;
            item.text     = func.Name;
            item.state    = "open";
            item.@checked = false;
            item.children = new List <TKS_FAS_TreeItem>();
            return(item);
        }
Exemplo n.º 3
0
 void CreateTree(List <TKS_FAS_Function> data, ref TKS_FAS_TreeItem root)
 {
     for (int i = 0; i < data.Count; i++)
     {
         var cur = data[i];
         if (cur.ParentId == root.id)
         {
             var child = Trans2TreeItem(cur);
             root.children.Add(child);
             CreateTree(data, ref child);
         }
     }
 }
Exemplo n.º 4
0
 void CreateTree(List <TKS_FAS_Function> data, ref TKS_FAS_TreeItem root, List <TKS_FAS_Entity2Function> checkedFuncs)
 {
     for (int i = 0; i < data.Count; i++)
     {
         var cur = data[i];
         if (cur.ParentId == root.id)
         {
             var child = Trans2TreeItem(cur);
             if (checkedFuncs.Any(p => { return(p.FunctionId == child.id && p.CheckState == "checked"); }))
             {
                 child.@checked = true;
             }
             root.children.Add(child);
             CreateTree(data, ref child, checkedFuncs);
         }
     }
 }
Exemplo n.º 5
0
        public ResponseFuncTreeGet FuncTreeGet(RequestFuncTreeGet request)
        {
            ResponseFuncTreeGet response = new ResponseFuncTreeGet();

            using (cnn = GetConnection())
            {
                try
                {
                    string sql   = @"WITH CTE(id,
                         name,
                        img,
                        PARENTID,seq) AS
                         (SELECT id,name,img, PARENTID,seq
                            FROM tks_fas_function
                           WHERE id = @Id
  
                          UNION ALL
                          SELECT B.id,B.name,B.img,B.PARENTID,B.Seq
                            FROM tks_fas_function B
                           INNER JOIN CTE
                              ON  B.PARENTID = CTE.id)
      
                     SELECT * FROM CTE order by seq";
                    var    funcs = cnn.Query <TKS_FAS_Function>(sql, new { Id = "-" });

                    TKS_FAS_TreeItem root = new TKS_FAS_TreeItem();
                    var first             = funcs.Where(p => p.Id == "-").FirstOrDefault();

                    root = Trans2TreeItem(first);

                    CreateTree(funcs.ToList(), ref root);
                    response.Data = new List <TKS_FAS_TreeItem>();
                    response.Data.Add(root);
                    response.IsSuccess = true;
                    response.Message   = "加载完毕";
                    return(response);
                }
                catch (Exception ex)
                {
                    return(this.DealException(response, ex) as ResponseFuncTreeGet);
                }
            }
        }