Exemple #1
0
        /// <summary>
        /// Perform update
        /// </summary>
        public override Act UpdateInternal(DataContext context, Act data)
        {
            switch (data.ClassConceptKey.ToString().ToUpper())
            {
            case ActClassKeyStrings.ControlAct:
                return(new ControlActPersistenceService().UpdateInternal(context, data.Convert <ControlAct>()));

            case ActClassKeyStrings.SubstanceAdministration:
                return(new SubstanceAdministrationPersistenceService().UpdateInternal(context, data.Convert <SubstanceAdministration>()));

            case ActClassKeyStrings.Observation:
                switch (data.GetType().Name)
                {
                case "TextObservation":
                    return(new TextObservationPersistenceService().UpdateInternal(context, data.Convert <TextObservation>()));

                case "CodedObservation":
                    return(new CodedObservationPersistenceService().UpdateInternal(context, data.Convert <CodedObservation>()));

                case "QuantityObservation":
                    return(new QuantityObservationPersistenceService().UpdateInternal(context, data.Convert <QuantityObservation>()));

                default:
                    return(this.UpdateCoreProperties(context, data));
                }

            case ActClassKeyStrings.Encounter:
                return(new EncounterPersistenceService().UpdateInternal(context, data.Convert <PatientEncounter>()));

            case ActClassKeyStrings.Condition:
            default:
                return(this.UpdateCoreProperties(context, data));
            }
        }