public ProgressStep UpdateProgressStep(ProgressStep progressStep)
        {
            if ( progressStep.CreationDate == null || progressStep.CreationDate == DateTime.MinValue) {
                progressStep.CreationDate = DateTime.Now;
            }

            progressStep.ModificationDate = DateTime.Now;

            return this.UpdateEntity(progressStep, this._ProgressRepository);
        }
        public ProgressStep CreateProgressStep(ProgressStep progressStep)
        {
            var result = this.CreateEntity<ProgressStep>(progressStep, this._ProgressRepository);

            if (result.CreationDate == null || result.CreationDate == DateTime.MinValue) {
                result.CreationDate = DateTime.Now;
            }

            result.ModificationDate = DateTime.Now;

            result.Tags = new HashSet<string>();

            return result;
        }