public async Task <Status> Get() { var sites = _settingsHelper.GetSites().ToList(); Trace.WriteLine("Sites: " + string.Join(", ", sites)); var siteSet = new HashSet <string>(sites.Concat(sites.Select(s => s + "(staging)")), StringComparer.OrdinalIgnoreCase); WebSpacesListResponse spaces; try { var client = _clientHelper.GetWebSiteClient(); spaces = await client.WebSpaces.ListAsync(CancellationToken.None); } catch (Exception ex) { Trace.TraceError(ex.ToString()); throw; } try { var siteLists = await Task.WhenAll(spaces.Select(space => ListWebSites(space.Name, siteSet))); Output = DtoCollection.Create(siteLists.SelectMany(l => l).Select(WebSiteDto.FromSdk).OrderBy(dto => dto.Name)); } catch (Exception ex) { Trace.TraceError(ex.ToString()); throw; } return(200); }
public void MapsCollectionsFromDtoToDomain() { var dtoCollection = new DtoCollection(); var dtos = new IDto[] { new Dto1 { P0 = 10, P1 = 11 }, new Dto2 { P0 = 20, P2 = 22 } }; foreach (var to in dtos) { dtoCollection.Add(to); } var domainCollection = this.mapper.Map <DomainCollection>(dtoCollection); domainCollection.Entries.Count().ShouldBe(dtoCollection.Entries.Count()); var domain1 = domainCollection.Entries.ElementAt(0).ShouldBeOfType <DomainType1>(); domain1.Prop0.ShouldBe(10); domain1.Prop1.ShouldBe(11); var domain2 = domainCollection.Entries.ElementAt(1).ShouldBeOfType <DomainType2>(); domain2.Prop0.ShouldBe(20); domain2.Prop2.ShouldBe(22); }