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); }
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) })); } }