/// <summary>
        /// Calculate method for the component with test of preconditions
        /// </summary>
        /// <param name=p>PhenologyState Domain class contains the accessors to values</param>
        /// <param name=p1>PhenologyState Domain class contains the accessors to values</param>
        /// <param name=ae>AgroManagement objects of impact parameters</param>
        /// <param name="saveLog">Save log via a writer or show on screen</param>
        /// <param name="callID">Context description for violations</param>
        public void Estimate
            (IStrategySiriusQualityPhenology st, PhenologyState s, PhenologyState s1, ActEvents ae, bool saveLog, string callID)
        {
            _resultPreConditions  = String.Empty;
            _resultPostConditions = String.Empty;
            _resultPreConditions  = st.TestPreConditions(s, s1, callID);
            st.Estimate(s, s1, ae);
            _resultPostConditions = st.TestPostConditions(s, s1, callID);

            if (_resultPreConditions != String.Empty || _resultPostConditions != String.Empty)
            {
                p.TestsOut(_resultPreConditions + _resultPostConditions, saveLog, callID);
            }
        }
 /// <summary>
 /// Calculate method for the component
 /// </summary>
 /// <param name=p>PhenologyState Domain class contains the accessors to values</param>
 /// <param name=p1>PhenologyState Domain class contains the accessors to values</param>
 /// <param name=ae>AgroManagement objects of impact parameters</param>
 public void Estimate
     (IStrategySiriusQualityPhenology st, PhenologyState p, PhenologyState p1, ActEvents ae)
 {
     st.Estimate
         (p, p1, ae);
 }