public static string GetProjectsList(Config config, out List<FBProject> arrProjects, string oAuthConsumerKey, string oAuthSecret, int perPage, int page, int clientID, int staffID) { arrProjects = new List<FBProject>(); Hashtable ht = new Hashtable(); if (perPage > 0) { ht.Add("per_page", perPage); } if (page > 0) { ht.Add("page", page); } if (clientID > 0) { ht.Add("client_id", clientID); } XmlTextReader xmlReader = null; string result = FBRequest(config, "project.list", ht, out xmlReader, oAuthConsumerKey, oAuthSecret, ""); if (result == "ok") { int pageNumber = 1; bool assignedStaff = false; FBProject fbProject = new FBProject(); while (xmlReader.Read()) { if (xmlReader.NodeType == XmlNodeType.Element) { switch (xmlReader.Name) { case "projects": pageNumber = GetPagesCount(xmlReader); break; case "project": assignedStaff = false; fbProject = new FBProject(); break; case "project_id": fbProject.ProjectID = GetXMLTextNodeValueInt(xmlReader); break; case "client_id": fbProject.ClientID = GetXMLTextNodeValueInt(xmlReader); break; case "name": fbProject.Name = GetXMLTextNodeValueStr(xmlReader); break; case "staff_id": if (!assignedStaff && GetXMLTextNodeValueInt(xmlReader) == staffID) { assignedStaff = true; } break; } } else if (xmlReader.NodeType == XmlNodeType.EndElement && xmlReader.Name == "project") { if (assignedStaff) { arrProjects.Add(fbProject); } } } if (pageNumber > page) { arrProjects.Add(new FBProject(-(page + 1), "More...")); } } return result; }
public static string GetProjectsList(Config config, out List <FBProject> arrProjects, string oAuthConsumerKey, string oAuthSecret, int perPage, int page, int clientID, int staffID) { arrProjects = new List <FBProject>(); Hashtable ht = new Hashtable(); if (perPage > 0) { ht.Add("per_page", perPage); } if (page > 0) { ht.Add("page", page); } if (clientID > 0) { ht.Add("client_id", clientID); } XmlTextReader xmlReader = null; string result = FBRequest(config, "project.list", ht, out xmlReader, oAuthConsumerKey, oAuthSecret, ""); if (result == "ok") { int pageNumber = 1; bool assignedStaff = false; FBProject fbProject = new FBProject(); while (xmlReader.Read()) { if (xmlReader.NodeType == XmlNodeType.Element) { switch (xmlReader.Name) { case "projects": pageNumber = GetPagesCount(xmlReader); break; case "project": assignedStaff = false; fbProject = new FBProject(); break; case "project_id": fbProject.ProjectID = GetXMLTextNodeValueInt(xmlReader); break; case "client_id": fbProject.ClientID = GetXMLTextNodeValueInt(xmlReader); break; case "name": fbProject.Name = GetXMLTextNodeValueStr(xmlReader); break; case "staff_id": if (!assignedStaff && GetXMLTextNodeValueInt(xmlReader) == staffID) { assignedStaff = true; } break; } } else if (xmlReader.NodeType == XmlNodeType.EndElement && xmlReader.Name == "project") { if (assignedStaff) { arrProjects.Add(fbProject); } } } if (pageNumber > page) { arrProjects.Add(new FBProject(-(page + 1), "More...")); } } return(result); }