public static Health GetHealth(StateDescriptionDto state, IEnumerable <NodeDto> dcs) { Health health = Health.Full; if (state.Description == Constants.StateLegacyMode) { health = Health.Legacy; } else { var activeDcs = dcs.Count(x => x.Active); health = (activeDcs >= 2) ? Health.Full : ((activeDcs == 1) ? Health.Limited : Health.Down); } return(health); }
/// <summary> /// Gets the description corresponding to the CDC DC State /// </summary> /// <returns>The description.</returns> /// <param name="cdcState">Cdc state.</param> public static StateDescriptionDto GetStateDescription(CDC_DC_STATE cdcState) { var stateDescription = new StateDescriptionDto(); if (cdcState == CDC_DC_STATE.CDC_DC_STATE_LEGACY) { stateDescription.Description = Constants.StateLegacyMode; stateDescription.LongDescription = Constants.StateDescHighAvailabilityDisabled; } else if (cdcState == CDC_DC_STATE.CDC_DC_STATE_NO_DC_LIST) { stateDescription.Description = Constants.StateNoKnowledgeOfAnyDcs; stateDescription.LongDescription = Constants.StateDescNoKnowledgeOfAnyDcs; } else if (cdcState == CDC_DC_STATE.CDC_DC_STATE_SITE_AFFINITIZED) { stateDescription.Description = Constants.StateSiteAffinitized; stateDescription.LongDescription = Constants.StateDescSiteAffinitized; } else if (cdcState == CDC_DC_STATE.CDC_DC_STATE_OFF_SITE) { stateDescription.Description = Constants.StateAffinitizedToOffsiteDc; stateDescription.LongDescription = Constants.StateDescAffinitizedToOffsiteDc; } else if (cdcState == CDC_DC_STATE.CDC_DC_STATE_NO_DCS_ALIVE) { stateDescription.Description = Constants.StateAllKnownDcsAreDown; stateDescription.LongDescription = Constants.StateDescAllKnownDcsAreDown; } else { stateDescription.Description = Constants.StateInvalidState; stateDescription.LongDescription = Constants.StateDescInvalidState; } return(stateDescription); }