Example #1
0
        /// <summary>
        /// Method which creates the date object only with valid data
        /// </summary>
        /// <param name="input">Input used in date object creation</param>
        /// <returns>Date object after positively passing validation,
        /// exception will be thrown otherwise</returns>
        public Date Build(string input)
        {
            DateValidation validationResult = new DateValidation();

            validationResult = validator.GenerateValidationResult(input);

            if (validationResult.IsValid)
            {
                return(new Date(validationResult.DateComponents));
            }
            else
            {
                throw new DateBuildFailedException("DateBuilder could not " +
                                                   "create an object. Terminating program.");
            }
        }