public bool Validate(OrganisationContract organisation, NoticeType type, ProcurementProjectContract project) { var isUtilitiesNotice = type.IsUtilities() || (type == NoticeType.ExAnte && project.ProcurementCategory == ProcurementCategory.Utility); return(ValidateAll(Valid(organisation != null, "Organisation"), Valid(isUtilitiesNotice ? organisation?.MainActivityUtilities != MainActivityUtilities.Undefined : (organisation?.MainActivity != MainActivity.Undefined || organisation?.ContractingAuthorityType == ContractingAuthorityType.MaintypeFarmer), "Organisation.MainActivity"), Valid(organisation?.ContractingAuthorityType != ContractingAuthorityType.Undefined, "Organisation.ContractingAuthorityType"), Valid(organisation?.Id != Guid.Empty, "Organisation.Id"), Validate(organisation?.Information))); }