/// <summary> /// Primarily used for Create & Update actions where a Resource is given in the API call /// Previous resource version can be sccourced from the database by version if required /// </summary> /// <param name="CrudOperationType"></param> /// <param name="Resource"></param> public ITriggerOutcome Trigger(RestEnum.CrudOperationType CrudOperationType, TriggerRaisedType TriggerRaised, Resource Resource) { return(ProcessTrigger(CrudOperationType, TriggerRaised, Resource.Id, ResourceNameResolutionSupport.GetResourceFhirAllType(Resource.ResourceType), Resource)); }
private ITriggerOutcome ProcessTrigger(RestEnum.CrudOperationType CrudOperationType, TriggerRaisedType TriggerRaised, string ResourceId, FHIRAllTypes ResourceType, Resource Resource = null) { switch (ResourceType) { case FHIRAllTypes.CompartmentDefinition: return(ITriggerCompartmentDefinition.ProcessTrigger(CrudOperationType, TriggerRaised, ResourceId, ResourceType, Resource)); default: //Return Contiune if no trigger processing required. return(new TriggerOutcome() { TriggerOutcomeResult = TriggerOutcome.TriggerOutcomeType.Contiune }); } }
/// <summary> /// Primarily used for Delete actions as their is no Resource given in the API call /// However services can scource the resource being deleted from the database /// </summary> /// <param name="CrudOperationType"></param> /// <param name="ResourceId"></param> /// <param name="ResourceType"></param> public ITriggerOutcome Trigger(RestEnum.CrudOperationType CrudOperationType, TriggerRaisedType TriggerRaised, string ResourceId, FHIRAllTypes ResourceType) { return(ProcessTrigger(CrudOperationType, TriggerRaised, ResourceId, ResourceType)); }