/// <summary> /// 重建组织结构 /// </summary> /// <param name="g">首Guid</param> public void organizeResize(Guid g) { var first = borganize.Get(g); var s = borganize.GetChilds(first.ID); if (s == null) { return; } foreach (var org in s) { org.Number = org.ParentID.ToString() + "," + first.ID.ToString().ToLower(); borganize.Update(org); borganize.UpdateChildsLength(org.ID); organizeResize(org.ID); } }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string rootid = context.Request.QueryString["rootid"] ?? ""; string showtype = context.Request.QueryString["showtype"] ?? ""; FoWoSoft.Platform.Organize BOrganize = new FoWoSoft.Platform.Organize(); FoWoSoft.Platform.Users busers = new FoWoSoft.Platform.Users(); FoWoSoft.Platform.WorkGroup BWorkGroup = new FoWoSoft.Platform.WorkGroup(); System.Text.StringBuilder json = new System.Text.StringBuilder("[", 1000); if ("1" == showtype) { #region 显示工作组 var workGroups = BWorkGroup.GetAll(); json.Append("{"); json.AppendFormat("\"id\":\"{0}\",", Guid.Empty); json.AppendFormat("\"parentID\":\"{0}\",", Guid.Empty); json.AppendFormat("\"title\":\"{0}\",", "工作组"); json.AppendFormat("\"ico\":\"{0}\",", Common.Tools.BaseUrl + "/images/ico/group.gif"); json.AppendFormat("\"link\":\"{0}\",", ""); json.AppendFormat("\"type\":\"{0}\",", 5); json.AppendFormat("\"hasChilds\":\"{0}\",", workGroups.Count); json.Append("\"childs\":["); int countwg = workGroups.Count; int iwg = 0; foreach (var wg in workGroups) { json.Append("{"); json.AppendFormat("\"id\":\"{0}\",", wg.ID); json.AppendFormat("\"parentID\":\"{0}\",", Guid.Empty); json.AppendFormat("\"title\":\"{0}\",", wg.Name); json.AppendFormat("\"ico\":\"{0}\",", ""); json.AppendFormat("\"link\":\"{0}\",", ""); json.AppendFormat("\"type\":\"{0}\",", 5); json.AppendFormat("\"hasChilds\":\"{0}\",", 0); json.Append("\"childs\":["); json.Append("]"); json.Append("}"); if (iwg++ < countwg - 1) { json.Append(","); } } json.Append("]"); json.Append("}"); json.Append("]"); context.Response.Write(json.ToString()); context.Response.End(); #endregion } if (rootid.IsNullOrEmpty()) { rootid = BOrganize.GetRoot().ID.ToString(); } string[] rootIDArray = rootid.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); int m = 0; foreach (string rootID in rootIDArray) { List <FoWoSoft.Data.Model.Users> users = new List <FoWoSoft.Data.Model.Users>(); Guid rootGuid = Guid.Empty; if (rootID.IsGuid(out rootGuid)) { var root = BOrganize.Get(rootGuid); if (root != null) { users = busers.GetAllByOrganizeID(rootGuid); json.Append("{"); json.AppendFormat("\"id\":\"{0}\",", root.ID); json.AppendFormat("\"parentID\":\"{0}\",", root.ParentID); json.AppendFormat("\"title\":\"{0}\",", root.Name); json.AppendFormat("\"ico\":\"{0}\",", rootIDArray.Length == 1 ? Common.Tools.BaseUrl + "/images/ico/icon_site.gif" : ""); json.AppendFormat("\"link\":\"{0}\",", ""); json.AppendFormat("\"type\":\"{0}\",", root.Type); json.AppendFormat("\"hasChilds\":\"{0}\",", root.ChildsLength == 0 && users.Count == 0 ? "0" : "1"); json.Append("\"childs\":["); } } else if (rootID.StartsWith(FoWoSoft.Platform.Users.PREFIX)) { var root = busers.Get(busers.RemovePrefix1(rootID).ToGuid()); if (root != null) { json.Append("{"); json.AppendFormat("\"id\":\"{0}\",", root.ID); json.AppendFormat("\"parentID\":\"{0}\",", Guid.Empty); json.AppendFormat("\"title\":\"{0}\",", root.Name); json.AppendFormat("\"ico\":\"{0}\",", Common.Tools.BaseUrl + "/images/ico/contact_grey.png"); json.AppendFormat("\"link\":\"{0}\",", ""); json.AppendFormat("\"type\":\"{0}\",", "4"); json.AppendFormat("\"hasChilds\":\"{0}\",", "0"); json.Append("\"childs\":["); } } else if (rootID.StartsWith(FoWoSoft.Platform.WorkGroup.PREFIX)) { var root = BWorkGroup.Get(BWorkGroup.RemovePrefix1(rootID).ToGuid()); if (root != null) { users = BOrganize.GetAllUsers(rootID); json.Append("{"); json.AppendFormat("\"id\":\"{0}\",", root.ID); json.AppendFormat("\"parentID\":\"{0}\",", Guid.Empty); json.AppendFormat("\"title\":\"{0}\",", root.Name); json.AppendFormat("\"ico\":\"{0}\",", ""); json.AppendFormat("\"link\":\"{0}\",", ""); json.AppendFormat("\"type\":\"{0}\",", "5"); json.AppendFormat("\"hasChilds\":\"{0}\",", users.Count > 0 ? "1" : "0"); json.Append("\"childs\":["); } } #region 只有一个根时显示二级 if (rootIDArray.Length == 1) { List <FoWoSoft.Data.Model.Organize> orgs = rootID.IsGuid() ? BOrganize.GetChilds(rootGuid) : new List <FoWoSoft.Data.Model.Organize>(); int count = orgs.Count; int i = 0; foreach (var org in orgs) { json.Append("{"); json.AppendFormat("\"id\":\"{0}\",", org.ID); json.AppendFormat("\"parentID\":\"{0}\",", org.ParentID); json.AppendFormat("\"title\":\"{0}\",", org.Name); json.AppendFormat("\"ico\":\"{0}\",", ""); json.AppendFormat("\"link\":\"{0}\",", ""); json.AppendFormat("\"type\":\"{0}\",", org.Type); json.AppendFormat("\"hasChilds\":\"{0}\",", org.ChildsLength); json.Append("\"childs\":["); json.Append("]"); json.Append("}"); if (i++ < count - 1 || users.Count > 0) { json.Append(","); } } if (users.Count > 0) { var userRelations = new FoWoSoft.Platform.UsersRelation().GetAllByOrganizeID(rootGuid); int count1 = users.Count; int j = 0; foreach (var user in users) { var ur = userRelations.Find(p => p.UserID == user.ID); json.Append("{"); json.AppendFormat("\"id\":\"{0}\",", user.ID); json.AppendFormat("\"parentID\":\"{0}\",", rootGuid); json.AppendFormat("\"title\":\"{0}{1}\",", user.Name, ur != null && ur.IsMain == 0 ? "<span style='color:#999;'>[兼职]</span>" : ""); json.AppendFormat("\"ico\":\"{0}\",", Common.Tools.BaseUrl + "/images/ico/contact_grey.png"); json.AppendFormat("\"link\":\"{0}\",", ""); json.AppendFormat("\"type\":\"{0}\",", "4"); json.AppendFormat("\"hasChilds\":\"{0}\",", "0"); json.Append("\"childs\":["); json.Append("]"); json.Append("}"); if (j++ < count1 - 1) { json.Append(","); } } } } #endregion json.Append("]"); json.Append("}"); if (m++ < rootIDArray.Length - 1) { json.Append(","); } } json.Append("]"); context.Response.Write(json.ToString()); }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string id = context.Request.QueryString["refreshid"] ?? ""; string showtype = context.Request.QueryString["showtype"] ?? ""; string type = context.Request.QueryString["type"] ?? ""; System.Text.StringBuilder json = new System.Text.StringBuilder("[", 1000); if ("1" == showtype) { #region 显示工作组 FoWoSoft.Platform.WorkGroup BWorkGroup = new FoWoSoft.Platform.WorkGroup(); var workGroups = BWorkGroup.GetAll(); int countwg = workGroups.Count; int iwg = 0; foreach (var wg in workGroups) { json.Append("{"); json.AppendFormat("\"id\":\"{0}\",", wg.ID); json.AppendFormat("\"parentID\":\"{0}\",", Guid.Empty); json.AppendFormat("\"title\":\"{0}\",", wg.Name); json.AppendFormat("\"ico\":\"{0}\",", ""); json.AppendFormat("\"link\":\"{0}\",", ""); json.AppendFormat("\"type\":\"{0}\",", 5); json.AppendFormat("\"hasChilds\":\"{0}\",", 0); json.Append("\"childs\":["); json.Append("]"); json.Append("}"); if (iwg++ < countwg - 1) { json.Append(","); } } json.Append("]"); json.Append("}"); context.Response.Write(json.ToString()); context.Response.End(); #endregion } Guid orgID; if (!id.IsGuid(out orgID)) { json.Append("]"); context.Response.Write(json.ToString()); } FoWoSoft.Platform.Organize BOrganize = new FoWoSoft.Platform.Organize(); var childOrgs = BOrganize.GetChilds(orgID); int count = childOrgs.Count; int i = 0; foreach (var org in childOrgs) { json.Append("{"); json.AppendFormat("\"id\":\"{0}\",", org.ID); json.AppendFormat("\"parentID\":\"{0}\",", id); json.AppendFormat("\"title\":\"{0}\",", org.Name); json.AppendFormat("\"ico\":\"{0}\",", ""); json.AppendFormat("\"link\":\"{0}\",", ""); json.AppendFormat("\"type\":\"{0}\",", org.Type); json.AppendFormat("\"hasChilds\":\"{0}\",", org.ChildsLength); json.Append("\"childs\":["); json.Append("]"); json.Append("}"); if (i++ < count - 1) { json.Append(","); } } var userRelations = new FoWoSoft.Platform.UsersRelation().GetAllByOrganizeID(orgID); var users = "5" == type?BOrganize.GetAllUsers(FoWoSoft.Platform.WorkGroup.PREFIX + id) : new FoWoSoft.Platform.Users().GetAllByOrganizeID(orgID); int count1 = users.Count; if (count1 > 0 && count > 0) { json.Append(","); } int j = 0; foreach (var user in users) { var ur = userRelations.Find(p => p.UserID == user.ID); json.Append("{"); json.AppendFormat("\"id\":\"{0}\",", user.ID); json.AppendFormat("\"parentID\":\"{0}\",", id); json.AppendFormat("\"title\":\"{0}{1}\",", user.Name, ur != null && ur.IsMain == 0 ? "<span style='color:#999;'>[兼职]</span>" : ""); json.AppendFormat("\"ico\":\"{0}\",", Common.Tools.BaseUrl + "/images/ico/contact_grey.png"); json.AppendFormat("\"link\":\"{0}\",", ""); json.AppendFormat("\"type\":\"{0}\",", "4"); json.AppendFormat("\"hasChilds\":\"{0}\",", "0"); json.Append("\"childs\":["); json.Append("]"); json.Append("}"); if (j++ < count1 - 1) { json.Append(","); } } json.Append("]"); context.Response.Write(json.ToString()); }