Example #1
0
        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());
        }
Example #2
0
        /// <summary>
        /// Initialises a new instance of the <see cref="ClientApplicationTypesSubSections"/> class.
        /// </summary>
        /// <param name="clientApplication"></param>
        public ClientApplicationTypesSubSections(IClientApplication clientApplication)
        {
            HashSet <string> clientApplicationTypes = clientApplication?.ClientApplicationTypes ?? new HashSet <string>();

            SetIfSelected("browser-based", clientApplicationTypes,
                          () => BrowserBasedSection = DashboardSection.Mandatory(clientApplication.IsBrowserBasedComplete()));
            SetIfSelected("native-mobile", clientApplicationTypes, () => NativeMobileSection   = DashboardSection.Mandatory(false));
            SetIfSelected("native-desktop", clientApplicationTypes, () => NativeDesktopSection = DashboardSection.Mandatory(false));
        }
 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);
 }
        public SolutionAuthorityDashboardSections(ISolution solution)
        {
            if (solution is null)
            {
                throw new ArgumentNullException(nameof(solution));
            }

            IEnumerable <IClaimedCapability> claimedCapabilityList = solution.Capabilities.ToList();

            Capabilities = DashboardSection.Mandatory(claimedCapabilityList.Any());
            Epics        = DashboardSection.Mandatory(claimedCapabilityList.Any(capability => capability.ClaimedEpics.Any()));
        }
Example #5
0
        /// <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());
        }