private void fillUserRefferenceCombo(int defaultValue) { UserTreeBL userTreeBL = new UserTreeBL(); int loggineduserid = int.Parse(UsersBS.loginedUser.get(UsersEntity.FIELD_ID).ToString()); UserTreeEntity entity = userTreeBL.get(); cmbReferenceUserId.DataSource = null; cmbReferenceUserId.Items.Clear(); var dataSource = new List <ComboBoxItem>(); //BasicInfoUtil.AddUnKnown(dataSource); for (int i = 0; i < entity.Tables[entity.FilledTableName].Rows.Count; i++) { string name = entity.get(i, UserTreeEntity.VIEW_FIELD_USER_NAME).ToString(); string treeid = entity.get(i, UserTreeEntity.FIELD_ID).ToString(); string userid = entity.get(i, UserTreeEntity.FIELD_USER_ID).ToString(); dataSource.Add(new ComboBoxItem(name, treeid, userid)); } cmbReferenceUserId.DataSource = dataSource; cmbReferenceUserId.DisplayMember = "Text"; cmbReferenceUserId.ValueMember = "Value"; for (int i = 0; i < cmbReferenceUserId.Items.Count; i++) { string c = ((ComboBoxItem)cmbReferenceUserId.Items[i]).CustomData; if (c != null && c.Equals(defaultValue.ToString())) { cmbReferenceUserId.SelectedIndex = i; break; } } }
private void createTree(UserTreeEntity entity, TreeNode node) { UsersEntity userEntity = null; for (int i = 0; i < entity.Tables[entity.FilledTableName].Rows.Count; i++) { int childUserId = int.Parse(entity.get(i, UserTreeEntity.FIELD_USER_ID).ToString()); int parentId = int.Parse(entity.get(i, UserTreeEntity.FIELD_ID).ToString()); userEntity = _usersBS.get(childUserId); TreeNode newNode = null; if (node == null) { node = new TreeNode(userEntity.ToString(i)); node.Tag = NodeItem.ToNodeItem(entity, i); node.ForeColor = Color.Green; treeView1.Nodes.Add(node); newNode = node; } else { newNode = new TreeNode(userEntity.ToString()); newNode.Tag = NodeItem.ToNodeItem(entity, i); newNode.ForeColor = Color.Green; node.Nodes.Add(newNode); } createTree(_userTreeBL.getByParent(parentId), newNode); } }
private void initTree() { UsersEntity entity = _usersBS.get(UsersEntity.FIELD_USER_TYPE + "=" + UsersBS.ADMIN); UserTreeEntity userTreeEntity = null; for (int i = 0; i < entity.Tables[entity.FilledTableName].Rows.Count; i++) { userTreeEntity = new UserTreeEntity(); DataRow dr = userTreeEntity.Tables[userTreeEntity.TableName].NewRow(); dr[UserTreeEntity.FIELD_USER_ID] = entity.get(UsersEntity.FIELD_ID); dr[UserTreeEntity.FIELD_USER_PATH] = entity.get(UsersEntity.FIELD_ID).ToString(); userTreeEntity.Tables[userTreeEntity.TableName].Rows.Add(dr); _userTreeBL.add(userTreeEntity); } userTreeEntity = _userTreeBL.get(); for (int i = 0; i < userTreeEntity.Tables[userTreeEntity.FilledTableName].Rows.Count; i++) { entity = _usersBS.get(int.Parse(userTreeEntity.get(UserTreeEntity.FIELD_USER_ID).ToString())); TreeNode node = new TreeNode(entity.ToString()); node.ForeColor = Color.Green; node.Tag = NodeItem.ToNodeItem(userTreeEntity, i); treeView1.Nodes.Add(node); } }
public int delete(int id) { AbstractCommonData entity = new UserTreeEntity(); string delQuery = "DELETE FROM " + entity.TableName + " where " + entity.IndexFieldName + "=" + provider.getSQLString(id); return(provider.delete(delQuery)); }
private UserTreeEntity removeDuplicates(UserTreeEntity entity) { if (entity.Tables[entity.FilledTableName].Rows.Count == 0) { return(entity); } string treeids = ""; string blackids = ""; int u1 = -1; for (int i = 0; i < entity.Tables[entity.FilledTableName].Rows.Count; i++) { if (blackids.IndexOf(entity.get(i, UserTreeEntity.FIELD_ID) + ",") < 0) { treeids += entity.get(i, UserTreeEntity.FIELD_ID) + ","; u1 = int.Parse(entity.get(i, UserTreeEntity.FIELD_USER_ID).ToString()); int u2 = -1; for (int j = i + 1; j < entity.Tables[entity.FilledTableName].Rows.Count; j++) { string treeId = entity.get(j, UserTreeEntity.FIELD_ID) + ""; u2 = int.Parse(entity.get(j, UserTreeEntity.FIELD_USER_ID).ToString()); if (u1 == u2) { blackids += treeId + ","; } } } } string cond = "ID IN(" + treeids.Substring(0, treeids.Length - 1) + ") AND ACTIVE=1"; entity = new UserTreeEntity(); provider.loadToDataSet(entity, cond); return(entity); }
private UserTreeEntity joinEntities(UserTreeEntity u1, UserTreeEntity u2) { if (u2 == null) { return(u1); } if (u1 == null) { return(u2); } for (int i = 0; i < u2.Tables[u2.FilledTableName].Rows.Count; i++) { DataRow dr = u1.Tables[u1.FilledTableName].NewRow(); int userid = int.Parse(u2.get(i, UserTreeEntity.FIELD_USER_ID).ToString()); if (!ContainsItem(userid, u1)) { dr[UserTreeEntity.VIEW_FIELD_USER_NAME] = u2.get(i, UserTreeEntity.VIEW_FIELD_USER_NAME); dr[UserTreeEntity.VIEW_FIELD_USER_USERTYPE] = u2.get(i, UserTreeEntity.VIEW_FIELD_USER_USERTYPE); dr[UserTreeEntity.FIELD_ID] = u2.get(i, UserTreeEntity.FIELD_ID); dr[UserTreeEntity.FIELD_PARENT_ID] = u2.get(i, UserTreeEntity.FIELD_PARENT_ID); dr[UserTreeEntity.FIELD_RADIF] = u2.get(i, UserTreeEntity.FIELD_RADIF); dr[UserTreeEntity.FIELD_USER_ID] = u2.get(i, UserTreeEntity.FIELD_USER_ID); dr[UserTreeEntity.FIELD_USER_PATH] = u2.get(i, UserTreeEntity.FIELD_USER_PATH); u1.Tables[u1.FilledTableName].Rows.Add(dr); } } return(u1); }
private void LoadUsers() { int logginedUserid = int.Parse(UsersBS.loginedUser.get(UsersEntity.FIELD_ID).ToString()); UserTreeEntity entity = null; if (_userTreeId <= 0) { fillUserRefferenceCombo(-1); rbAdmins.Enabled = false; rbUsers.Enabled = false; } else { if (rbAdmins.Checked) { entity = _userTreeBL.getByUserType(UsersBS.ADMIN); } else if (rbUsers.Checked) { int type = int.Parse(UsersBS.loginedUser.get(UsersEntity.FIELD_USER_TYPE).ToString()); if (type == UsersBS.ADMIN) { entity = _userTreeBL.get(); } else { UserTreeEntity entity1 = _userTreeBL.getByUser(logginedUserid); UserTreeEntity entity2 = _userTreeBL.getParent(logginedUserid); entity = joinEntities(entity1, entity2); } } lstUserList.DataSource = null; lstUserList.Items.Clear(); var dataSource = new List <ComboBoxItem>(); //BasicInfoUtil.AddUnKnown(dataSource); string hash = ""; if (entity != null && entity.Tables[entity.FilledTableName].Rows.Count > 0) { for (int i = 0; i < entity.Tables[entity.FilledTableName].Rows.Count; i++) { string name = entity.get(i, UserTreeEntity.VIEW_FIELD_USER_NAME).ToString(); string treeid = entity.get(i, UserTreeEntity.FIELD_ID).ToString(); string userid = entity.get(i, UserTreeEntity.FIELD_USER_ID).ToString(); if (hash.IndexOf(userid + ",") < 0) { dataSource.Add(new ComboBoxItem(name, treeid, userid)); } hash += userid + ","; } lstUserList.DataSource = dataSource; lstUserList.DisplayMember = "Text"; lstUserList.ValueMember = "Value"; lstUserList.SelectedIndex = 0; } } }
private int getUserInTree(int id) { UserTreeBL bl = new UserTreeBL(); UserTreeEntity en = bl.getUserAllAccessPath(id); return(en.Tables[en.FilledTableName].Rows.Count); }
public UserTreeEntity getByUserTableId(int userid) { UserTreeEntity entity = new UserTreeEntity(); string cond = UserTreeEntity.FIELD_USER_ID + "=" + userid; provider.loadToDataSet(entity, cond); return(entity); }
public UserTreeEntity getByUserType(int userType) { UserTreeEntity entity = new UserTreeEntity(); string cond = UserTreeEntity.VIEW_FIELD_USER_USERTYPE + "=" + userType; provider.loadToDataSet(entity, cond); return(entity); }
public UserTreeEntity getByUserIds(string ids) { UserTreeEntity entity = new UserTreeEntity(); string cond = UserTreeEntity.FIELD_USER_ID + " in (" + ids + ")"; provider.loadToDataSet(entity, cond); return(entity); }
public UserTreeEntity get() { UserTreeEntity entity = new UserTreeEntity(); //string cond = UserTreeEntity.FIELD_LETTER_TYPE + "=" + provider.getSQLString(letterType); provider.loadToDataSet(entity); return(removeDuplicates(entity)); }
public UserTreeEntity getByUserId(string userid) { UserTreeEntity entity = new UserTreeEntity(); string cond = "'/'+" + UserTreeEntity.FIELD_USER_PATH + " like" + provider.getSQLString("%/" + userid + "/%"); provider.loadToDataSet(entity, cond); return(entity); }
public UserTreeEntity get(int id) { UserTreeEntity entity = new UserTreeEntity(); string cond = UserTreeEntity.FIELD_ID + "=" + provider.getSQLString(id); provider.loadToDataSet(entity, cond); return(entity); }
public UserTreeEntity getUserAllAccessPath(int userid) { UserTreeEntity entity = new UserTreeEntity(); string cond = "'/'+" + UserTreeEntity.FIELD_USER_PATH + "+'/' like" + provider.getSQLString("/%" + userid + "/%"); provider.loadToDataSet(entity, cond); return(removeDuplicates(entity)); }
public UserTreeEntity getByUser(int userId) { //UserTreeEntity userTreeEntity = get(userTreeId); //string userPath = userTreeEntity.get(UserTreeEntity.FIELD_USER_PATH).ToString(); string userPath = userId + ""; UserTreeEntity u = ((UserTreeDA)_abstractDA).getByUserId(userPath); return(u); }
public int getUserIdByTreeId(int userTreeId) { //UserTreeEntity userTreeEntity = get(userTreeId); //string userPath = userTreeEntity.get(UserTreeEntity.FIELD_USER_PATH).ToString(); if (userTreeId < 0) { return(userTreeId); } UserTreeEntity u = ((UserTreeDA)_abstractDA).get(userTreeId); int userid = int.Parse(u.get(UserTreeEntity.FIELD_USER_ID).ToString()); return(userid); }
private bool ContainsItem(int userid, UserTreeEntity entity) { for (int i = 0; i < entity.RowCount(); i++) { int uid = int.Parse(entity.get(i, UserTreeEntity.FIELD_USER_ID).ToString()); if (uid == userid) { return(true); } } return(false); }
//return treeids for user of this tree -- users that is owner of nodes private string getSameUserIdsLikeThisNode(int treeid) { string treeids = ""; UserTreeEntity uEntity = _userTreeBL.get(treeid); int userid = int.Parse(uEntity.get(UserTreeEntity.FIELD_USER_ID).ToString()); uEntity = _userTreeBL.getByUserTableId(userid); for (int i = 0; i < uEntity.Tables[uEntity.FilledTableName].Rows.Count; i++) { treeids += uEntity.get(i, UserTreeEntity.FIELD_ID) + ","; } return(treeids.Substring(0, treeids.Length - 1)); }
public int updateRefferenceUser(int letterid, int userTreeId) { if (letterid < 0) { return(0); } // int referFromUserId = int.Parse(UsersBS.loginedUser.get(UsersEntity.FIELD_ID).ToString()); ((LetterDA)_abstractDA).updateRefferenceUser(letterid, userTreeId, referFromUserId); ReferLetterBL referLetterBL = new ReferLetterBL(); //Register Refer to referletter table int currUserId = int.Parse(UsersBS.loginedUser.get(UsersEntity.FIELD_ID).ToString()); // کاربری که در درخت قرار دارد را شناسایی کرده و // به userTreeUserId الحاق شود UserTreeBL userTreeBL = new UserTreeBL(); UserTreeEntity usertreeEntity = userTreeBL.get(userTreeId); int usertreeUserId = int.Parse(usertreeEntity.get(UserTreeEntity.FIELD_USER_ID).ToString()); //بررسی برای برگشت ارجاع // اگر برگشت باشد ثبت می کند checkForReferenceCycle(letterid, currUserId, usertreeUserId); ReferLetterEntity entity = new ReferLetterEntity(); DataRow dr = entity.Tables[entity.TableName].NewRow(); dr[ReferLetterEntity.FIELD_LETTER_ID] = letterid; dr[ReferLetterEntity.FIELD_REFER_DATE] = DateTime.Now; dr[ReferLetterEntity.FIELD_REFER_FROM_USER] = currUserId; dr[ReferLetterEntity.FIELD_REFER_TO_USER] = usertreeUserId;// کاربر در درخت کاربران entity.Tables[entity.TableName].Rows.Add(dr); referLetterBL.add(entity); //check how many reffer occured this letter // اگر بیش از حد ارجاع شده باشد رنگ ان را تغییر خواهیم داد int refCount = referLetterBL.getReferCount(letterid); ApplicationPropertiesBL appProBl = new ApplicationPropertiesBL(); int masterRefCount = int.Parse(appProBl.getValue(ApplicationPropertiesBL.REFERENCE_COUNT)); if (refCount >= masterRefCount) { string refColor = appProBl.getValue(ApplicationPropertiesBL.COLOR_REFERENCE_LIMIT); updateRefColor(letterid, refColor); } return(1); }
public static NodeItem ToNodeItem(UserTreeEntity entity, int index) { NodeItem item = new NodeItem(); item.Id = int.Parse(entity.get(index, UserTreeEntity.FIELD_ID).ToString()); item.UserId = int.Parse(entity.get(index, UserTreeEntity.FIELD_USER_ID).ToString()); if (entity.get(index, UserTreeEntity.FIELD_PARENT_ID).ToString().Length > 0) { item.ParentId = int.Parse(entity.get(index, UserTreeEntity.FIELD_PARENT_ID).ToString()); } item.UserPath = entity.get(index, UserTreeEntity.FIELD_USER_PATH).ToString(); return(item); }
public void loadTree() { UserTreeEntity entity = _userTreeBL.getByParent(-1); if (entity.Tables[entity.FilledTableName].Rows.Count <= 0) { initTree(); } else { createTree(entity, null); } treeView1.Nodes[0].Expand(); }
private bool checkIsLetterUserEqualLogginedUser(int ownerTreeNodeId) { int loggindeUserId = int.Parse(UsersBS.loginedUser.get(UsersEntity.FIELD_ID).ToString()); UserTreeBL userTree = new UserTreeBL(); UserTreeEntity treeEntity = userTree.get(ownerTreeNodeId); if (treeEntity.Tables[treeEntity.FilledTableName].Rows.Count > 0) { int userId = int.Parse(treeEntity.get(UserTreeEntity.FIELD_USER_ID).ToString()); if (userId.Equals(loggindeUserId)) { return(true); } } return(false); }
public UserTreeEntity getByParentId(int parentId) { UserTreeEntity entity = new UserTreeEntity(); string cond = ""; if (parentId <= 0) { cond = UserTreeEntity.FIELD_PARENT_ID + " <=0 OR " + UserTreeEntity.FIELD_PARENT_ID + " IS NULL"; } else { cond = UserTreeEntity.FIELD_PARENT_ID + "=" + provider.getSQLString(parentId); } provider.loadToDataSet(entity, cond); return(entity); }
public string getAllChildsIds(int parentId) { UserTreeEntity entity = ((UserTreeDA)_abstractDA).getByParentId(parentId); if (entity.Tables[entity.FilledTableName].Rows.Count <= 0) { return(""); } string ids = ""; for (int i = 0; i < entity.RowCount(); i++) { ids += entity.get(i, UserTreeEntity.FIELD_USER_ID).ToString() + ","; } return(ids.Substring(0, ids.Length - 1)); }
private void mnuAddUser_Click(object sender, EventArgs e) { TreeNode parentNode = (TreeNode)contextMenuStrip.Tag; NodeItem parentNodeItem = (NodeItem)parentNode.Tag; //show user List UserList list = new UserList(); string childs = _userTreeBL.getAllChildsIds(parentNodeItem.Id); list.UnselectIds = parentNodeItem.UserPath.Replace("/", ",") + (childs.Length > 0? "," + childs : ""); list.initList(); list.ShowAdminUsers = false; list.ShowDialog(); //prepare to create node and save it to database and also show in tree string name = list.UserName; int userid = list.Id; if (userid > 0) // if any user selected { //بررسی تکراری وارد نکردن کاربر if (("/" + parentNodeItem.UserPath + "/").IndexOf("/" + userid + "/") >= 0) { MessageBox.Show("کاربری که اضافه می کنید در سطوح بالاتر وجود دارد، امکان اضافه کردن کاربر تکراری وجود ندارد"); return; } //create entity UserTreeEntity userTreeEntity = new UserTreeEntity(); DataRow dr = userTreeEntity.Tables[userTreeEntity.TableName].NewRow(); dr[UserTreeEntity.FIELD_USER_ID] = userid; dr[UserTreeEntity.FIELD_PARENT_ID] = parentNodeItem.Id; dr[UserTreeEntity.FIELD_USER_PATH] = parentNodeItem.UserPath + "/" + userid; //add entity to database userTreeEntity.Tables[userTreeEntity.TableName].Rows.Add(dr); int newid = _userTreeBL.add(userTreeEntity); dr[UserTreeEntity.FIELD_ID] = newid; userTreeEntity.FilledTableName = userTreeEntity.TableName; //create node and add it to Tree UsersEntity entity = _usersBS.get(userid); TreeNode node = new TreeNode(entity.ToString()); node.Tag = NodeItem.ToNodeItem(userTreeEntity); parentNode.Nodes.Add(node); parentNode.Expand(); } }
public UserTreeEntity getParent(int userid) { UserTreeEntity entity = new UserTreeEntity(); string cond = "'/'+" + UserTreeEntity.FIELD_USER_PATH + " like" + provider.getSQLString("%/" + userid + ""); provider.loadToDataSet(entity, cond); string parentIds = ""; for (int i = 0; i < entity.Tables[entity.FilledTableName].Rows.Count; i++) { string path = entity.get(i, UserTreeEntity.FIELD_USER_PATH).ToString(); if (path != null && path.Length >= 3) { parentIds += getParent(path) + ","; } } if (parentIds.Length > 0) { parentIds = parentIds.Substring(0, parentIds.Length - 1); return(getByUserIds(parentIds)); } return(null); }
private void mnuDeleteUser_Click(object sender, EventArgs e) { TreeNode parentNode = (TreeNode)contextMenuStrip.Tag; NodeItem parentNodeItem = (NodeItem)parentNode.Tag; UserTreeEntity userTreeEntity = _userTreeBL.getByParent(parentNodeItem.Id); if (userTreeEntity.RowCount() > 0) { MessageBox.Show("برای حذف یک نود کاربر باید ابتدا تمامی کاربران زیرین را حذف نمایید!"); return; } else { DeleteUserForm form = new DeleteUserForm(); form.UserTreeId = parentNodeItem.Id; form.loadForm(); form.ShowDialog(); if (form.IsUserTreeNodeDeleted) { parentNode.Remove(); } } }
public static NodeItem ToNodeItem(UserTreeEntity entity) { return(ToNodeItem(entity, 0)); }
public int add(UserTreeEntity entity) { return(((UserTreeDA)_abstractDA).add(entity)); }