public void RemoveRequirement(TagFunctionRequirement requirement) { if (requirement == null) { throw new ArgumentNullException(nameof(requirement)); } if (requirement.Plant != Plant) { throw new ArgumentException($"Can't remove item in {requirement.Plant} from item in {Plant}"); } _requirements.Remove(requirement); }
public void AddRequirement(TagFunctionRequirement requirement) { if (requirement == null) { throw new ArgumentNullException(nameof(requirement)); } if (requirement.Plant != Plant) { throw new ArgumentException($"Can't relate item in {requirement.Plant} to item in {Plant}"); } if (_requirements.Any(r => r.RequirementDefinitionId == requirement.RequirementDefinitionId)) { throw new ArgumentException($"{nameof(TagFunction)} {Code} in register {RegisterCode} already has a requirement with definition {requirement.RequirementDefinitionId}"); } _requirements.Add(requirement); }