private List<WFTreeNode> QueryTree(DFDictionary dict)
 {
     var root = WF_M_DEPTLoader.Query("ROOT").FirstOrDefault();
     var nodes = WF_M_DEPTLoader.Query(string.Empty).OrderBy(a => a.DeptOrder.GetValueOrDefault()).Select(a => new WFTreeNode()
     {
         pid = a.PDeptId,
         id = a.DeptId,
         text = string.Format("{0} {1}", a.DeptName, a.DeptDisplayText.GetRes())
     }).ToList();
     var listStatus = JsonSerializeHelper.DeserializeObject<List<WFTreeNode>>(Base64StringHelper.ConvertFromBase64String(dict["DF_TREE_VIEWSTATE"]));
     var list = WFTreeHelper.GenerateTree("ROOT", nodes);
     WFTreeHelper.SetStatus(list, listStatus);
     return list;
 }
        public DataGridVM GetTree(DFDictionary dict)
        {
            var vm         = new DataGridVM();
            var nodes      = Generate(SessionHelper.Get <FormM>("f"));
            var listStatus = JsonSerializeHelper.DeserializeObject <List <WFTreeNode> >(Base64StringHelper.ConvertFromBase64String(dict["DF_TREE_VIEWSTATE"]));
            var list       = WFTreeHelper.GenerateTree("ROOT", nodes);

            // 下面这段代码就是为了处理保持客户端树的状态
            WFTreeHelper.SetStatus(nodes, listStatus);
            vm.rows = list;
            return(vm);
        }
        public override int Update(FormM form, DFDictionary entity, ref string message)
        {
            var currentUser = Util.GetCurrentUser();

            if (string.IsNullOrWhiteSpace(entity["UserId"]))
            {
                throw new ArgumentNullException("UserId");
            }

            var list = JsonSerializeHelper.DeserializeObject <List <VM_WF_M_USERDEPT> >(Base64StringHelper.ConvertFromBase64String(entity[DFPub.GetKey_GridHiddenValue("grid1")]));

            if (list == null)
            {
                throw new Exception("Invalid grid data");
            }

            WF_M_USERDEPTLoader.DeleteByUserId(entity["UserId"]);
            list.Where(a => a.selected).ToList().ForEach(a =>
            {
                var ud            = new WF_M_USERDEPT();
                ud.PK_GUID        = Guid.NewGuid().ToString();
                ud.DeptId         = a.DeptId;
                ud.UserId         = entity["UserId"];
                ud.CreateUser     = currentUser.UserName;
                ud.CreateTime     = DateTime.Now;
                ud.LastModifyUser = currentUser.UserName;
                ud.LastModifyTime = DateTime.Now;
                WF_M_USERDEPTLoader.Insert(ud);
            });
            message = "保存成功".GetRes();
            return(DFPub.EXECUTE_SUCCESS);
        }
Exemple #4
0
        public override int Update(FormM form, DFDictionary entity, ref string message)
        {
            try
            {
                var currentUser = Util.GetCurrentUser();
                if (string.IsNullOrWhiteSpace(entity["UserId"]))
                {
                    throw new ArgumentNullException("UserId");
                }

                var list = JsonSerializeHelper.DeserializeObject <List <VM_WF_M_ROLE> >(Base64StringHelper.ConvertFromBase64String(entity[DFPub.GetKey_GridHiddenValue("grid1")]));

                if (list == null)
                {
                    throw new Exception("Invalid grid data");
                }

                using (var db = Pub.DB)
                {
                    var sql = "DELETE FROM WF_M_USERROLE WHERE RoleId=@RoleId and UserId=@UserId";
                    db.Execute(sql, list.Select(a => new { RoleId = a.RoleId, UserId = entity["UserId"] }));

                    db.Insert(list.Where(a => a.selected).Select(a => new WF_M_USERROLE()
                    {
                        UserRoleId     = Guid.NewGuid().ToString(),
                        RoleId         = a.RoleId,
                        UserId         = entity["UserId"],
                        CreateUser     = currentUser.UserName,
                        CreateTime     = DateTime.Now,
                        LastModifyUser = currentUser.UserName,
                        LastModifyTime = DateTime.Now
                    }));

                    message = "保存成功".GetRes();
                    return(DFPub.EXECUTE_SUCCESS);
                }
            }
            catch (Exception ex)
            {
                message = ex.Message;
                return(DFPub.EXECUTE_ERROR);
            }
        }
        public DataGridVM GetTree(DFDictionary dict)
        {
            var vm    = new DataGridVM();
            var di    = new DirectoryInfo(DFPub.ConfigFolder);
            var nodes = new List <WFTreeNode>();

            nodes.Add(new WFTreeNode()
            {
                id = "ROOT", pid = string.Empty, text = "所有表单"
            });

            foreach (var item in di.GetFiles("*.xml", SearchOption.AllDirectories).OrderBy(a => a.FullName))
            {
                var el = XElement.Load(item.FullName);
                if (el.Name != "Form")
                {
                    continue;
                }
                nodes.Add(new WFTreeNode()
                {
                    id   = DFPub.GetAttrValue(el, "Name"),
                    pid  = "ROOT",
                    text = string.Format("{0} {1}", DFPub.GetAttrValue(el, "Name"), DFPub.GetAttrValue(el, "Desc"))
                });
            }

            var listStatus = JsonSerializeHelper.DeserializeObject <List <WFTreeNode> >(Base64StringHelper.ConvertFromBase64String(dict["DF_TREE_VIEWSTATE"]));
            var list       = WFTreeHelper.GenerateTree("ROOT", nodes);

            // 下面这段代码就是为了处理保持客户端树的状态
            WFTreeHelper.SetStatus(nodes, listStatus);
            vm.rows = list;
            return(vm);
        }
Exemple #6
0
        public override int Update(FormM form, DFDictionary entity, ref string message)
        {
            try
            {
                var currentUser = Util.GetCurrentUser();
                var listStatus1 = JsonSerializeHelper.DeserializeObject <List <WFTreeNode> >(Base64StringHelper.ConvertFromBase64String(entity["DF_TREE_VIEWSTATE1"]));
                if (listStatus1 == null)
                {
                    throw new Exception("Invalid DF_TREE_VIEWSTATE1");
                }
                var listStatus2 = JsonSerializeHelper.DeserializeObject <List <WFTreeNode> >(Base64StringHelper.ConvertFromBase64String(entity["DF_TREE_VIEWSTATE2"]));
                if (listStatus2 == null)
                {
                    throw new Exception("Invalid DF_TREE_VIEWSTATE2");
                }
                if (string.IsNullOrWhiteSpace(entity["RoleId"]))
                {
                    throw new ArgumentNullException("RoleId");
                }

                using (var db = Pub.DB)
                {
                    var sql = string.Empty;

                    sql = "DELETE FROM WF_M_AUTH_MODULE WHERE RoleId=@RoleId";
                    db.Execute(sql, new { RoleId = entity["RoleId"] });

                    sql = "DELETE FROM WF_M_AUTH_DATA WHERE RoleId=@RoleId";
                    db.Execute(sql, new { RoleId = entity["RoleId"] });

                    var checkedList = listStatus1.Where(a => a._checked).ToList();
                    db.Insert(checkedList.Select(a => new WF_M_AUTH_MODULE()
                    {
                        AuthId         = Guid.NewGuid().ToString(),
                        ModuleId       = a.id,
                        RoleId         = entity["RoleId"],
                        CreateUser     = currentUser.UserName,
                        CreateTime     = DateTime.Now,
                        LastModifyUser = currentUser.UserName,
                        LastModifyTime = DateTime.Now
                    }));

                    checkedList = listStatus2.Where(a => a._checked).ToList();
                    db.Insert(checkedList.Select(a => new WF_M_AUTH_DATA()
                    {
                        AuthId         = Guid.NewGuid().ToString(),
                        DeptId         = a.id,
                        RoleId         = entity["RoleId"],
                        CreateUser     = currentUser.UserName,
                        CreateTime     = DateTime.Now,
                        LastModifyUser = currentUser.UserName,
                        LastModifyTime = DateTime.Now
                    }));
                }
                message = "保存成功".GetRes();
                return(DFPub.EXECUTE_SUCCESS);
            }
            catch (Exception ex)
            {
                message = ex.Message;
                return(DFPub.EXECUTE_ERROR);
            }
        }
Exemple #7
0
        private List <WFTreeNode> QueryModuleTree(DFDictionary dict)
        {
            var root  = WF_M_MODULELoader.Query("ROOT").FirstOrDefault();
            var nodes = WF_M_MODULELoader.Query(string.Empty).OrderBy(a => a.ModuleOrder.GetValueOrDefault()).Select(a => new WFTreeNode()
            {
                pid  = a.PModuleId,
                id   = a.ModuleId,
                text = a.ModuleName
            }).ToList();
            var listStatus = JsonSerializeHelper.DeserializeObject <List <WFTreeNode> >(Base64StringHelper.ConvertFromBase64String(dict["DF_TREE_VIEWSTATE1"]));
            var list       = WFTreeHelper.GenerateTree("ROOT", nodes);

            WFTreeHelper.SetStatus(list, listStatus);
            return(list);
        }