private OrganizationList GetOrganizationByOperation(List <ResourceOperation> list, Organization organization) { OrganizationList orgList = new OrganizationList(); orgList.AutoTreeIndexEnabled = false; DataConstraintRule constraintRule = DataConstraintRule.All; if (null != list) { foreach (var operation in list) { DataConstraintRule currentConstraintRule; currentConstraintRule = System.Enum.TryParse(operation.OperationName, out currentConstraintRule) ? currentConstraintRule : DataConstraintRule.Own; var value = constraintRule.CompareTo(currentConstraintRule); if (value < 0) { constraintRule = currentConstraintRule; } } } if (constraintRule == DataConstraintRule.OwnCompany) { orgList.Add(organization); } else if (constraintRule == DataConstraintRule.Lower) { orgList.AddRange(HierarchicalStructureDataCache.OrganizationList.Where(o => o.TreeIndex.StartsWith(organization.TreeIndex))); } else if (constraintRule == DataConstraintRule.All) { orgList.AddRange(HierarchicalStructureDataCache.OrganizationList); } return(orgList); }
internal static OrganizationList getOrganizationList(HttpResponseMessage response) { var organizationList = new OrganizationList(); var jsonObj = JsonConvert.DeserializeObject<Dictionary<string, object>>(response.Content.ReadAsStringAsync().Result); if (jsonObj.ContainsKey("organizations")) { var organizationArray = JsonConvert.DeserializeObject<List<object>>(jsonObj["organizations"].ToString()); foreach(var organizationObj in organizationArray) { var organization = new Organization(); organization = JsonConvert.DeserializeObject<Organization>(organizationObj.ToString()); organizationList.Add(organization); } } return organizationList; }