/// <summary> /// An awaitable version of OrgUnit.GetOrgUnitFromSelector. /// Make sure to handle output with OrgUnit.HandleAwaitableGetOrgUnitFromSelector. /// </summary> /// <returns></returns> public static List <OrgUnit> AwaitableGetOrgUnitFromSelector() { StreamReader orgUnitStream = GAM.RunGAMStream("print orgs allfields"); using (var csv = new CsvReader(orgUnitStream)) { var orgUnits = new List <OrgUnit>(); csv.Configuration.HeaderValidated = null; csv.Configuration.MissingFieldFound = null; csv.Read(); csv.ReadHeader(); while (csv.Read()) { orgUnits.Add(new OrgUnit { OrgUnitPath = csv.GetField("orgUnitPath"), OrgUnitName = csv.GetField("name"), OrgUnitDescription = csv.GetField("description") }); } return(orgUnits); } //List<OrgUnit> orgUnits = new List<OrgUnit>(); //foreach (List<string> org in fixedOrgs) //{ // if (org[0] == "orgUnitPath") continue; // orgUnits.Add(new OrgUnit() // { // OrgUnitPath = !String.IsNullOrEmpty(org[0]) ? org[0] : null, // OrgUnitName = !String.IsNullOrEmpty(org[2]) ? (org[2].StartsWith("id:") ? "(no description provided)" : org[2]) : null, // OrgUnitDescription = !String.IsNullOrEmpty(org[3]) ? (org[3].StartsWith("id:") ? "(no description provided)" : org[3]) : null // }); //} //if (orgUnits.Count < 2) //{ // return new List<OrgUnit>(); //} else //{ // return orgUnits; //} }