Example #1
0
 public ResponseFuncTreeGet FuncTreeGet([FromBody] RequestFuncTreeGet request)
 {
     try
     {
         FunctionBLL bll = new FunctionBLL();
         return(bll.FuncTreeGet(request));
     }
     catch (Exception ex)
     {
         throw new HttpResponseException(
                   Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message));
     }
 }
Example #2
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);
                }
            }
        }