public string getWhileLoopData()
        {
            OrganizationManager organizationManager = new OrganizationManager();


            List <Organization> empty = new List <Organization>();

            empty = organizationManager.GetChildItems(organizationManager.Read(null).First().Id, empty);
            htmlStr.Append("[{id:\"");
            htmlStr.Append(organizationManager.Read(null).First().Id);
            htmlStr.Append("\",text: \"");
            htmlStr.Append(organizationManager.Read(null).First().Name);
            htmlStr.Append("\",expanded: true,spriteCssClass: \"rootfolder\"");
            //Check if there is any children or not
            if (GetRowsByParent(organizationManager.Read(null).First().Id).Count > 0)
            {
                htmlStr.Append(",items: [");
                //Les go inside Childs
                GetChildItems(organizationManager.Read(null).First().Id, new List <Organization>());
                //End tag
                htmlStr.Append("]");
            }

            htmlStr.Append("}]");
            return(htmlStr.ToString());
        }
        //End Department Json


        public string getWhileLoopData()
        {
            OrganizationManager organizationManager = new OrganizationManager();

            var htmlStr = new System.Text.StringBuilder();
            List <Organization> empty = new List <Organization>();

            empty = organizationManager.GetChildItems(organizationManager.Read(null).First().Id, empty);
            htmlStr.Append("<tr><td>");
            htmlStr.Append(organizationManager.Read(null).First().Id);
            htmlStr.Append("</td><td>");
            htmlStr.Append("");
            htmlStr.Append("</td><td>");
            htmlStr.Append(organizationManager.Read(null).First().Name);
            htmlStr.Append("</td></tr>");
            foreach (var item in empty)
            {
                string parent = "";
                if (item.ParentOrganization != null)
                {
                    parent = item.ParentOrganization.Id.ToString();
                }
                Guid   id   = item.Id;
                string name = item.Name;
                htmlStr.Append("<tr><td>");
                htmlStr.Append(id);
                htmlStr.Append("</td><td>");
                htmlStr.Append(parent);
                htmlStr.Append("</td><td>");
                htmlStr.Append(name);
                htmlStr.Append("</td></tr>");
            }
            return(htmlStr.ToString());
        }
        // GET: Outgoing letters Json Methods
        public ActionResult GetPersons(List <Guid> idList, Guid?postGuid, bool noPost)
        {
            if (idList != null && idList.Count > 0)
            {
                if (!noPost)
                {
                    UserManager         usermanager          = new UserManager();
                    OrganizationManager organizationManager  = new OrganizationManager();
                    List <Organization> checkedOrganizations = new List <Organization>();
                    User currentUser = usermanager.Read(new Guid(User.Identity.Name));
                    foreach (var id in idList)
                    {
                        checkedOrganizations.Add(organizationManager.Read(id));
                        //checkedOrganizations.AddRange(organizationManager.GetChildItems(id, new List<Organization>()));
                    }
                    PersonManager personManager = new PersonManager();
                    List <Person> peopleList    = new List <Person>();
                    //Remove non organized people from json
                    //peopleList.AddRange(usermanager.GetUserShowablePeopleList(usermanager.Read(new Guid(User.Identity.Name))));
                    foreach (var organization in checkedOrganizations.Distinct())
                    {
                        peopleList.AddRange(personManager.GetOrganizationPersons(organization, postGuid));
                    }

                    return(Json(peopleList.Distinct().ToList().Select(x => new { x.Id, x.FirstName, x.LastName })));
                }
                else
                {
                    UserManager         usermanager          = new UserManager();
                    OrganizationManager organizationManager  = new OrganizationManager();
                    List <Organization> checkedOrganizations = new List <Organization>();
                    User        currentUser = usermanager.Read(new Guid(User.Identity.Name));
                    PostManager postManager = new PostManager();
                    foreach (var id in idList)
                    {
                        checkedOrganizations.Add(organizationManager.Read(id));
                        checkedOrganizations.AddRange(organizationManager.GetChildItems(id, new List <Organization>()));
                    }
                    PersonManager personManager = new PersonManager();

                    List <Tuple <Person, Post, Organization> > peopleList = (from organization in checkedOrganizations.Distinct() from item in personManager.GetOrganizationPersons(organization) select new Tuple <Person, Post, Organization>(item.Item1, item.Item2, item.Item3)).ToList();

                    return(Json(peopleList.Select(x => new { x.Item1.Id, x.Item1.FirstName, x.Item1.LastName, x.Item2.Name, postID = x.Item2.Id, organizationName = x.Item3.GetFullOrganizationPath(), organizationID = x.Item3.Id })));
                }
            }
            else
            {
                UserManager usermanager = new UserManager();
                return(Json(usermanager.GetUserShowablePeopleList(usermanager.Read(new Guid(User.Identity.Name))).Select(x => new { x.Id, x.FirstName, x.LastName })));
            }
        }
        private string getWhileLoopJsonDepartment(bool isEdit, Guid parent)
        {
            OrganizationManager organizationManager = new OrganizationManager();


            List <Organization> empty = new List <Organization>();

            empty = organizationManager.GetChildItems(organizationManager.Read(null).First().Id, empty);
            htmlStr2.Append("[{id:\"");
            htmlStr2.Append(organizationManager.Read(null).First().Id);
            htmlStr2.Append("\",text: \"");
            htmlStr2.Append(organizationManager.Read(null).First().Name);
            htmlStr2.Append("\",expanded: true,spriteCssClass: \"rootfolder\"");
            //Check if there is any children or not
            if (GetRowsByParentDep(organizationManager.Read(null).First().Id).Count > 0)
            {
                htmlStr2.Append(",items: [");
                //Les go inside Childs
                if (isEdit)
                {
                    if (organizationManager.Read(null).First().Id != parent)
                    {
                        GetChildItems(organizationManager.Read(null).First().Id, new List <Organization>(), isEdit, parent);
                    }
                }
                else
                {
                    GetChildItems(organizationManager.Read(null).First().Id, new List <Organization>(), isEdit, parent);
                }
                //End tag
                htmlStr2.Append("]");
            }

            htmlStr2.Append("}]");
            return(htmlStr2.ToString());
        }