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); }
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); }
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); } }
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); }