Exemplo n.º 1
0
        public ActionResult GetOrgTree()
        {
            using (var db = DbAccess.DbCRMContext.Create())
            {
                var rows = db.T_QWF_Org.AsNoTracking().Where(w => w.IsDelete == 0).OrderBy(o => o.SortId).ToList();

                var tree = new QWF.Framework.Web.UI.TreeConverter <DbAccess.T_QWF_Org>();

                tree.ClosedLayer = 3;//这里要全部展开。否则是会异步加载

                tree.GetId       = m => { return(m.OrgId.ToString()); };
                tree.GetParentId = m => { return(m.ParentId.ToString()); };

                //映射字段
                var treeList = tree.ConvertTo(item =>
                {
                    var node  = new QWF.Framework.Web.UI.BaseTreeNode();
                    node.id   = item.OrgId.ToString();
                    node.text = item.OrgName;
                    return(node);
                }, rows, "0");

                treeList.Insert(0, new Framework.Web.UI.BaseTreeNode {
                    id = "", text = "==全部== "
                });
                return(this.Content(Newtonsoft.Json.JsonConvert.SerializeObject(treeList)));
            }
        }
Exemplo n.º 2
0
        // GET: Sales/Dictionary
        public ActionResult GetTreeByCode()
        {
            var code = Request["code"].SafeConvert().ToStr();

            using (var db = DbAccess.DbCRMContext.Create())
            {
                var rootId = db.T_QCRM_Dictionary.Where(w => w.Code == code).Select(s => s.Id).FirstOrDefault();
                if (rootId > 0)
                {
                    var ids = "," + rootId.ToString() + ",";

                    var rows = db.T_QCRM_Dictionary.AsNoTracking().Where(w => w.IdList.IndexOf(ids) > -1).OrderBy(o => o.ItemSort).ToList();
                    var tree = new QWF.Framework.Web.UI.TreeConverter <DbAccess.T_QCRM_Dictionary>();

                    tree.ClosedLayer = 3;//这里要全部展开。否则是会异步加载
                    tree.GetId       = m => { return(m.Id.ToString()); };
                    tree.GetParentId = m => { return(m.ParentId.ToString()); };

                    //映射字段
                    var treeList = tree.ConvertTo(item =>
                    {
                        var node  = new QWF.Framework.Web.UI.BaseTreeNode();
                        node.id   = item.Id.ToString();
                        node.text = item.ItemName;
                        return(node);
                    }, rows, "0");
                    return(this.Content(Newtonsoft.Json.JsonConvert.SerializeObject(treeList)));
                }
            }

            return(this.Content(string.Empty));
        }
Exemplo n.º 3
0
        public ActionResult GetRoleInCategoryList()
        {
            var roleCode = this.Request["roleCode"].SafeConvert().ToStr();

            using (var db = DbAccess.DbCRMContext.Create())
            {
                var rows = (from a in db.T_QCRM_QueryCategory
                            join trc in db.T_QCRM_RoleInQueryCategory on new { RoleCode = roleCode, CategoryId = a.Id } equals new { RoleCode = trc.RoleCode, CategoryId = trc.CategoryId } into bb
                            from b in bb.DefaultIfEmpty()
                            orderby a.SortId
                            select new Models.RoleInQueryCategory
                {
                    CategoryName = a.Name,
                    CategoryId = a.Id,
                    ParentId = a.ParentId,
                    RoleCode = b.RoleCode
                }).ToList();

                var tree = new QWF.Framework.Web.UI.TreeConverter <Models.RoleInQueryCategory>();

                tree.GetId       = m => { return(m.CategoryId.ToString()); };
                tree.GetParentId = m => { return(m.ParentId.ToString()); };
                tree.GetCheckbox = m => { return(m.RoleCode != null && m.ParentId > 0 ? true : (bool?)null); };

                //映射字段
                var treeList = tree.ConvertTo(item =>
                {
                    var node  = new QWF.Framework.Web.UI.BaseTreeNode();
                    node.id   = item.CategoryId.ToString();
                    node.text = item.CategoryName;
                    return(node);
                }, rows.ToList(), "0");
                return(this.Content(Newtonsoft.Json.JsonConvert.SerializeObject(treeList)));
            }
        }
Exemplo n.º 4
0
        public ActionResult GetList()
        {
            using (var db = DbAccess.DbCRMContext.Create())
            {
                var items = (from a in db.T_QCRM_QueryCategory.AsNoTracking()
                             join qql in db.T_QCRM_QueryList.AsNoTracking() on a.SortField equals qql.TableCode + "_" + qql.FieldCode into bb
                             from b in bb.DefaultIfEmpty()
                             orderby a.SortId
                             select new Models.DB_QueryCategory
                {
                    Id = a.Id,
                    ParentId = a.ParentId,
                    Name = a.Name,
                    Remarks = a.Remarks,
                    CreateTime = a.CreateTime,
                    UpdateTime = a.UpdateTime,
                    AscOrDesc = a.AscOrDesc,
                    SortField = a.SortField,
                    TitleName = b.TitleName,
                    AndOr = a.AndOr
                }).ToList();

                var tree = new QWF.Framework.Web.UI.TreeConverter <Models.DB_QueryCategory>();

                tree.GetId       = m => { return(m.Id.ToString()); };
                tree.GetParentId = m => { return(m.ParentId.ToString()); };

                var result = tree.ConvertTo(item =>
                {
                    var node             = new Models.QueryCategoryTreeGrid();
                    node.id              = item.Id.ToString();
                    node.ParentId        = item.ParentId;
                    node.Name            = item.Name;
                    node.Remarks         = item.Remarks;
                    node.QueryCategoryId = item.Id;
                    node.CreateTime      = item.CreateTime.ToString("yyyy-MM-dd HH:mm:ss");
                    node.UpdateTime      = item.UpdateTime == null ? string.Empty : item.UpdateTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
                    node.AscOrDesc       = item.AscOrDesc;
                    node.SortField       = item.SortField;
                    node.SortFieldName   = string.Empty;
                    node.AndOr           = item.AndOr;
                    node.AndOrName       = item.ParentId == 0 ? "" : (item.AndOr == "and" ? "满足全部条件" : "满足其中之一");

                    if (!item.SortField.StrValidatorHelper().StrIsNullOrEmpty())
                    {
                        var filedName = item.TitleName;
                        var ascOrDesc = item.AscOrDesc == "desc" ? "降序" : "升序";
                        filedName     = string.Format("{0} ({1})", filedName, ascOrDesc);

                        node.SortFieldName = filedName;
                    }

                    return(node);
                }, items, "0");

                return(this.Content(Newtonsoft.Json.JsonConvert.SerializeObject(result)));
            }
        }
Exemplo n.º 5
0
        public ActionResult GetQueryCategoryTree()
        {
            var curUser = QWF.Framework.Web.UserContext.GetCurrentInfo();

            var curRoleCode = curUser.GetRolesCodes();

            using (var db = QWF.CRM.DbAccess.DbCRMContext.Create())
            {
                //当前用户能查看的分类

                var qry = (from a in db.T_QCRM_QueryCategory.AsNoTracking().Where(w => w.ShareType == "all")
                           join b in db.T_QCRM_RoleInQueryCategory.AsNoTracking().Where(w => curRoleCode.Contains(w.RoleCode)).Select(s => new { s.CategoryId }).Distinct() on a.Id equals b.CategoryId
                           orderby a.SortId
                           select new
                {
                    a.Id,
                    a.ParentId
                }).ToList();

                var parnetIds = qry.Where(w => w.ParentId > 0).Select(s => s.ParentId).ToList();
                var ids       = qry.Select(s => s.Id).ToList();
                var allIds    = parnetIds.Concat(ids).ToList();

                var qryPublic = db.T_QCRM_QueryCategory.AsNoTracking().Where(w => allIds.Contains(w.Id) && w.ShareType == "all").OrderBy(o => o.SortId).ToList();
                //需要隐藏的配置
                var qryUserSetting = db.T_QCRM_UserQuerySetting.AsNoTracking().Where(w => w.IsHide == 1 && w.UserCode == curUser.CurrentUserCode)
                                     .Select(s => s.QueryCategoryId).ToList();

                if (qryUserSetting.Count > 0)
                {
                    qryPublic = qryPublic.Where(w => !qryUserSetting.Contains(w.Id)).ToList();
                }

                var tree = new QWF.Framework.Web.UI.TreeConverter <DbAccess.T_QCRM_QueryCategory>();
                tree.GetId       = m => { return(m.Id.ToString()); };
                tree.GetParentId = m => { return(m.ParentId.ToString()); };

                //映射字段
                var treeList = tree.ConvertTo(item =>
                {
                    var node        = new QWF.Framework.Web.UI.BaseTreeNode();
                    node.id         = item.Id.ToString();
                    node.text       = item.Name;
                    node.attributes = new { parentId = item.ParentId };
                    return(node);
                }, qryPublic, "0");

                return(this.Content(Newtonsoft.Json.JsonConvert.SerializeObject(treeList)));
            }
        }