public SolutionDashboardSections(ISolution solution) { if (solution is null) { throw new ArgumentNullException(nameof(solution)); } SolutionDescriptionSection = DashboardSection.Mandatory(!string.IsNullOrWhiteSpace(solution.Summary)); FeaturesSection = DashboardSection.Optional( solution.Features?.Any(feature => !string.IsNullOrWhiteSpace(feature)) == true); ClientApplicationTypesSection = DashboardSection.MandatoryWithSubSection( solution.ClientApplication?.ClientApplicationTypes?.Any() == true, new ClientApplicationTypesSubSections(solution.ClientApplication)); ContactDetailsSection = DashboardSection.Optional(new ContactAnswerSection(solution.Contacts).HasData()); HostingTypePublicCloudSection = DashboardSection.Optional(solution.Hosting.IsPublicCloudComplete()); HostingTypePrivateCloudSection = DashboardSection.Optional(solution.Hosting.IsPrivateCloudComplete()); HostingTypeHybridSection = DashboardSection.Optional(solution.Hosting.IsHybridHostingTypeComplete()); HostingTypeOnPremiseSection = DashboardSection.Optional(solution.Hosting.IsOnPremiseComplete()); AboutSupplierSection = DashboardSection.Optional(solution.Supplier.IsSupplierComplete()); RoadMapSection = DashboardSection.Optional(solution.IsRoadMapComplete()); IntegrationsSection = DashboardSection.Optional(solution.IsIntegrationsComplete()); ImplementationTimescalesSection = DashboardSection.Optional(solution.IsImplementationTimescalesComplete()); }
public NativeMobileSections(IClientApplication clientApplication) { MobileOperatingSystems = DashboardSection.Mandatory(clientApplication.IsMobileOperatingSystems()); MobileFirst = DashboardSection.Mandatory(clientApplication.IsNativeMobileFirstComplete()); MobileMemoryStorage = DashboardSection.Mandatory(clientApplication.IsMobileMemoryAndStorageComplete()); MobileConnectionDetails = DashboardSection.Optional(clientApplication.IsMobileConnectionDetailsComplete()); MobileComponentsDeviceCapabilities = DashboardSection.Optional(false); MobileHardwareRequirements = DashboardSection.Optional(false); MobileAdditionalInformation = DashboardSection.Optional(false); }
/// <summary> /// Initialises a new instance of the <see cref="SolutionDashboardSections"/> class. /// </summary> public SolutionDashboardSections(ISolution solution) { if (solution is null) { throw new ArgumentNullException(nameof(solution)); } SolutionDescriptionSection = DashboardSection.Mandatory(!string.IsNullOrWhiteSpace(solution.Summary)); FeaturesSection = DashboardSection.Optional(solution.Features?.Any(feature => !string.IsNullOrWhiteSpace(feature)) == true); ClientApplicationTypesSection = DashboardSection.MandatoryWithSubSection( solution.ClientApplication?.ClientApplicationTypes?.Any() == true, new ClientApplicationTypesSubSections(solution.ClientApplication)); ContactDetailsSection = DashboardSection.Optional(new ContactAnswerSection(solution.Contacts).HasData()); }