public async Task <Office365CompanyModel> GetCompanyOffice365DomainsAsync(int companyId) { var dbCompany = await _companyService.GetCompanyAsync(companyId); var dbDomains = dbCompany.Domains.Select(d => new Office365DomainModel { Name = d.Name, Office365DomainStatus = Office365DomainStatus.NotConfigured }).ToList(); var office365Customer = await GetOffice365CustomerWithIncludesAsync(companyId); var office365Domains = office365Customer.Domains; foreach (var domain in dbDomains) { var office365Domain = office365Domains.FirstOrDefault(d => d.Name == domain.Name); if (office365Domain == null) { continue; } domain.Office365DomainStatus = office365Domain.Office365DomainStatus; domain.IsFederated = office365Domain.IsFederated; domain.VerificationInProgress = _workflowOffice365ActivityService.IsOffice365DomainVerificationInProgress(domain.Name); } var company = new Office365CompanyModel() { CompanyId = dbCompany.Id, Email = dbCompany.Email, Domains = dbDomains.OrderByDescending(d => d.Office365DomainStatus).ToList(), Office365CustomerId = office365Customer.Office365CustomerId }; return(company); }
public static Office365CompanyDomainsViewModel ToOffice365CompanyDomainsViewModel(this Office365CompanyModel company) { if (company == null) { return(null); } return(new Office365CompanyDomainsViewModel { CompanyId = company.CompanyId, Email = company.Email, Domains = company.Domains.Select(d => d.ToOffice365DomainViewModel()), Office365CustomerId = company.Office365CustomerId }); }