Пример #1
0
        public void EvaluateApproach(Approach approach)
        {
            this.deviationObserver.RemoveDeviation(DeviationMessageConstants.APPR_ESA_REQUIRED_KEY);
            bool hasEsa = this.approachService.HasEsa(approach.Id);

            if (approach.Criteria.Value == CriteriaType.NATO && !hasEsa)
            {
                Deviation deviation = this.deviationFactory.CreateDeviation(
                    DeviationMessageConstants.APPR_ESA_REQUIRED_FOR_NATO,
                    DeviationMessageConstants.APPR_ESA_REQUIRED_FOR_NATO_SEVERITY);
                deviationObserver.PublishDeviation(DeviationMessageConstants.APPR_ESA_REQUIRED_KEY, deviation);
            }
        }
Пример #2
0
        // Requires the double delegate method to process a domain service (per Vaughn Vernon).
        public void Evaluate(
            IDeviationObserver deviationObserver,
            IDeviationFactory deviationFactory)
        {
            if (this.Criteria.Value == CriteriaType.NATO)
            {
                bool result = this.Esa == null;

                if (result)
                {
                    Deviation deviation = deviationFactory.CreateDeviation(
                        DeviationMessageConstants.APPR_ESA_REQUIRED_FOR_NATO,
                        DeviationMessageConstants.APPR_ESA_REQUIRED_FOR_NATO_SEVERITY);
                    deviationObserver.PublishDeviation(DeviationMessageConstants.APPR_ESA_REQUIRED_KEY, deviation);
                }
            }
        }