private static void AddTenantServices(MyAccountViewModel viewModel, bool pipelineRunning, string process) { // Add each tenants services foreach (var userAccount in viewModel.UserAccounts) { foreach (var company in userAccount.Tenants) { var provisioningService = ProvisioningService.CreateForAdmin(company.Id); company.Services = provisioningService.GetStatusses().Select(s => new ServiceStatusViewModel() { StatusId = s.Id, Name = s.Name, Service = s.Service, Status = company.AzureServicesProvisioned ? ProvisioningStatus.Deployed : ProvisioningStatus.NotDeployed }).ToList(); } // Update statusses foreach (var tenant in userAccount.Tenants) { // Set the Status if (!tenant.AzureServicesProvisioned) { tenant.Status = pipelineRunning ? process.Equals("Provisioning") ? ProvisioningStatus.Provisioning : ProvisioningStatus.Removing : ProvisioningStatus.NotDeployed; tenant.Services.ForEach(s => s.Status = ProvisioningStatus.NotDeployed); } else { tenant.Status = pipelineRunning && process.Equals("Deprovisioning") ? ProvisioningStatus.Removing : ProvisioningStatus.Deployed; tenant.Services.ForEach(s => s.Status = ProvisioningStatus.Deployed); } } } }
private void SetupViewBag(MyAccountViewModel viewModel, bool pipelineRunning, string process) { // Build up the ViewBag var tenants = viewModel.UserAccounts[0].Tenants; ViewBag.ShowOpen = tenants.All(t => t.AzureServicesProvisioned); ViewBag.ShowStart = tenants.Any(t => !t.AzureServicesProvisioned) && !pipelineRunning; ViewBag.ShowDelete = !pipelineRunning; ViewBag.PipelineRunning = pipelineRunning; ViewBag.Process = process; }
private static MyAccountViewModel BuildTenantViewModel(IEnumerable<TenantModel> tenants) { // Set default var viewModel = new MyAccountViewModel(); // Build the viewmodel if (tenants != null) { viewModel = new MyAccountViewModel() { UserAccounts = tenants.GroupBy(u => u.Username).Select(u => new UserAccountViewModel() { Username = u.Key, Tenants = u.Select(t => new TenantViewModel() { Id = t.TenantId, Plan = t.ProvisioningOption, Theme = t.Theme, Status = t.AzureServicesProvisioned ? ProvisioningStatus.Deployed : ProvisioningStatus.NotDeployed, AzureServicesProvisioned = t.AzureServicesProvisioned, }).ToList() }).ToList() }; } return viewModel; }