示例#1
0
        public virtual RegulationDocAnnex AddAnnex()
        {
            var annex = new RegulationDocAnnex();

            annex.Document = this;
            if (Annexess.Count == 0)
            {
                annex.Number = 1;
            }
            else
            {
                annex.Number = Annexess.Max(x => x.Number) + 1;
            }

            ObservableAnnexes.Add(annex);
            return(annex);
        }
示例#2
0
        public virtual IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
        {
            if (String.IsNullOrWhiteSpace(Name))
            {
                yield return(new ValidationResult("Название документа должно быть заполнено.",
                                                  new[] { this.GetPropertyName(o => o.Name) }));
            }
            if (Annexess.Any(x => x.Number < 0))
            {
                yield return(new ValidationResult("Номер приложения должен быть положительным числом.",
                                                  new[] { nameof(Annexess) }));
            }
            if (Annexess.Any(x => x.Number > 127))
            {
                yield return(new ValidationResult("Номер приложения не может превышать 127.",
                                                  new[] { nameof(Annexess) }));
            }

            if (Annexess.Any(x => !String.IsNullOrEmpty(x.Name) && x.Name.Length > 255))
            {
                yield return(new ValidationResult("Название приложения не может превышать 255 символов.",
                                                  new[] { nameof(Annexess) }));
            }
        }