Beispiel #1
0
        public ValidationError Validate(PersistentObject dto)
        {
            ValidationError rootError = null;

            var simplePropertyErrors = ValidateSimpleProperties(dto);
            var collectionErrors     = ValidateObjectCollections(dto);

            if (simplePropertyErrors.Count > 0 || collectionErrors.Count > 0)
            {
                rootError = new ValidationError(
                    String.Format("Object (Type: '{0}', Id: '{1}') state is invalid.", dto.PersistentType.Name, dto.Id.ToString()));

                foreach (var error in simplePropertyErrors)
                {
                    rootError.AddErrorAsNested(error);
                }
                foreach (var error in collectionErrors)
                {
                    rootError.AddErrorAsNested(error);
                }
            }

            return(rootError);
        }