Example #1
0
        public override string Validate(string propertyName)
        {
            if (!DoValidation)
            {
                return(null);
            }

            switch (propertyName)
            {
            case nameof(ProjectName):
                if (ProjectName.IsNullOrWhiteSpace())
                {
                    return(string.Format(Constants.FieldMustBeFilledMessageFormat, nameof(ProjectName)));
                }
                else if (!ProjectName.IsLengthBetween(3, 100))
                {
                    return(string.Format(Constants.LengthErrorMessageFormat, nameof(ProjectName), 3, 100));
                }
                break;

            case nameof(StartDate):
                if (StartDate.IsNullOrWhiteSpace())
                {
                    return(string.Format(Constants.FieldMustBeFilledMessageFormat, nameof(StartDate)));
                }
                else if (DateTime.Parse(StartDate) < new DateTime(2000, 1, 1))
                {
                    return(Constants.DateMustBeCorrectMessage);
                }
                else if (!StillGoes && !EndDate.IsNullOrWhiteSpace() &&
                         DateTime.Parse(StartDate) > DateTime.Parse(EndDate))
                {
                    return(string.Format(Constants.FieldMustBeLessThan, nameof(StartDate), nameof(EndDate)));
                }
                break;

            case nameof(EndDate):
                if (!StillGoes && EndDate.IsNullOrWhiteSpace())
                {
                    return(string.Format(Constants.FieldMustBeFilledMessageFormat, nameof(EndDate)));
                }
                else if (!StillGoes && DateTime.Parse(EndDate) < new DateTime(2000, 1, 1))
                {
                    return(Constants.DateMustBeCorrectMessage);
                }
                break;
            }
            return(null);
        }