예제 #1
0
        /// <summary>
        /// Constructor by parameters
        /// </summary>
        /// <param name="parameters">Result parameters</param>
        public ExternalResult(ResultParams parameters) : base(parameters)
        {
            var resData = parameters.Data;

            if (resData != null)
            {
                data = (FeResPost.Result)resData;
            }
            else
            {
                data = null;
            }
        }
예제 #2
0
        /// <summary>
        /// Returns the specific creator of the result using the data contained in the passed parameters
        /// </summary>
        /// <param name="parameters">Result parameters</param>
        /// <returns>A specific instance of the result creator</returns>
        public static ResultCreator GetResultCreatorByParams(ResultParams parameters)
        {
            ResultCreator creator = null;
            var           type    = parameters.TypeName;

            // TODO: Hide the implementation of selecting a specific creator, so that the registration of a specific type occurs somewhere in a separate place
            if (type == "FRPResult")
            {
                creator = new ExternalResultCreator(parameters);
            }
            else
            {
                throw new ArgumentOutOfRangeException("Unknown type of result");
            }

            // TODO: Insert new type of results

            return(creator);
        }
예제 #3
0
 /// <summary>
 /// Constructor by parameters
 /// </summary>
 /// <param name="parameters">Result parameters</param>
 public ExternalResultCreator(ResultParams parameters) : base(parameters)
 {
     result = new ExternalResult(parameters);
 }
예제 #4
0
 /// <summary>
 /// Protected base constructor for implementing abstract parameter passing when creating a specific result class.
 /// </summary>
 /// <param name="parameters">Result parameters</param>
 protected ResultCreator(ResultParams parameters)
 {
 }
예제 #5
0
 /// <summary>
 /// Protected constructor with parameters
 /// </summary>
 /// <param name="parameters">Result parameters</param>
 protected Result(ResultParams parameters)
 {
     ID = parameters.ID;
 }