public static void RemoveSafely(this EditorContract contract, ReferenceContractProperty property) { if (contract == null) { throw new ArgumentNullException(nameof(contract)); } if (property == null) { throw new ArgumentNullException(nameof(property)); } //Remove all risks contract.AnalyzeIntegrityOf(property).ResolveDeleteRisks(); //Remove this var entity = contract.DataModel.GetEntityOf(property); //entity.ReferenceProperties.Remove(property); entity.RemoveProperty(property); }
public override async Task DeletePropertyAsync(int index) { propertyToDelete = Entity.ReferenceProperties[index]; deletePropertyAnalysis = Contract.AnalyzeIntegrityOf(propertyToDelete); await deleteDialogWindow.OpenAsync(); }
public static ContractIntegrityAnalysisResult AnalyzeIntegrityOf(this EditorContract contract, ReferenceContractProperty property) { if (contract == null) { throw new ArgumentNullException(nameof(contract)); } if (property == null) { throw new ArgumentNullException(nameof(property)); } var deleteRisks = contract.AnalyzeDeleteRisksOf(property); return(new ContractIntegrityAnalysisResult(deleteRisks)); }
//-------------------------------------------------- // REFERENCE PROPERTY //-------------------------------------------------- public static void AddSafely(this EditorContract contract, ContractEntity entity, ReferenceContractProperty property) { if (contract == null) { throw new ArgumentNullException(nameof(contract)); } if (entity == null) { throw new ArgumentNullException(nameof(entity)); } if (property == null) { throw new ArgumentNullException(nameof(property)); } //entity.ReferenceProperties.Add(property); entity.AddProperty(property); }
public void Setup() { property1 = new PrimitiveContractProperty(); property4 = new PrimitiveContractProperty(); entity1 = new ContractEntity() { PrimitiveProperties = new List <PrimitiveContractProperty>() { property1, property4 } }; property2 = new ReferenceContractProperty() { Entity = entity1 }; property5 = new ReferenceContractProperty() { Entity = entity1 }; entity2 = new ContractEntity() { ReferenceProperties = new List <ReferenceContractProperty>() { property2, property5 } }; entity3 = new ContractEntity() { }; property6 = new ReferenceContractProperty(); property7 = new ReferenceContractProperty(); entity4 = new ContractEntity() { ReferenceProperties = new List <ReferenceContractProperty>() { property6 } }; entity5 = new ContractEntity() { ReferenceProperties = new List <ReferenceContractProperty>() { property7 } }; property6.Entity = entity5; property7.Entity = entity4; contract = new EditorContract() { DataModel = new ContractDataModel() { Entities = new List <ContractEntity>() { entity1, entity2, entity3, entity4, entity5 }, }, Processes = new ContractProcesses() { Main = new ContractProcess() { ProcessElements = new List <ContractProcessElement>() { new ContractUserActivity() { Form = new ContractForm() { Fields = new List <ContractFormField>() { new ContractFormField() { PropertyBinding = new ContractPropertyBinding() { Property = property4 } }, new ContractFormField() { PropertyBinding = new ContractPropertyBinding() { Property = property5 } } } } } } } } }; }