/// <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; } }
/// <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); }
/// <summary> /// Constructor by parameters /// </summary> /// <param name="parameters">Result parameters</param> public ExternalResultCreator(ResultParams parameters) : base(parameters) { result = new ExternalResult(parameters); }
/// <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) { }
/// <summary> /// Protected constructor with parameters /// </summary> /// <param name="parameters">Result parameters</param> protected Result(ResultParams parameters) { ID = parameters.ID; }