Example #1
0
        public static DtoResource SetDtoResource <ResourceBaseType>(ResourceBaseType ResourceBase, FHIRAllTypes ResourceType)
            where ResourceBaseType : ResourceBase
        {
            var DtoResource = new DtoResource();

            DtoResource.FhirId        = ResourceBase.FhirId;
            DtoResource.FhirReleaseId = ResourceBase.FhirReleaseId;
            DtoResource.IsCurrent     = ResourceBase.IsCurrent;
            DtoResource.IsDeleted     = ResourceBase.IsDeleted;
            DtoResource.Received      = ResourceBase.LastUpdated;
            DtoResource.Version       = ResourceBase.VersionId;
            DtoResource.Resource      = ResourceBase.Resource;
            DtoResource.Method        = ResourceBase.Method;
            DtoResource.ResourceType  = ResourceType;
            return(DtoResource);
        }
Example #2
0
        public IDatabaseOperationOutcome GetResourceByFhirID(string FhirId, bool WithXml = false, bool IncludeDeleted = true)
        {
            IDatabaseOperationOutcome DatabaseOperationOutcome = IDatabaseOperationOutcomeFactory.CreateDatabaseOperationOutcome();

            DatabaseOperationOutcome.SingleResourceRead = true;
            DtoResource DtoResource = null;

            if (WithXml)
            {
                if (IncludeDeleted)
                {
                    DtoResource = DbGetWithXML <ResCurrentType, ResIndexStringType, ResIndexTokenType, ResIndexUriType, ResIndexReferenceType, ResIndexQuantityType, ResIndexDateTimeType>(x => x.FhirId == FhirId & x.IsCurrent == true);
                }
                else
                {
                    DtoResource = DbGetWithXML <ResCurrentType, ResIndexStringType, ResIndexTokenType, ResIndexUriType, ResIndexReferenceType, ResIndexQuantityType, ResIndexDateTimeType>(x => x.FhirId == FhirId & x.IsCurrent == true & x.IsDeleted == false);
                }
            }
            else
            {
                if (IncludeDeleted)
                {
                    DtoResource = DbGetNoXML <ResCurrentType, ResIndexStringType, ResIndexTokenType, ResIndexUriType, ResIndexReferenceType, ResIndexQuantityType, ResIndexDateTimeType>(x => x.FhirId == FhirId & x.IsCurrent == true);
                }
                else
                {
                    DtoResource = DbGetNoXML <ResCurrentType, ResIndexStringType, ResIndexTokenType, ResIndexUriType, ResIndexReferenceType, ResIndexQuantityType, ResIndexDateTimeType>(x => x.FhirId == FhirId & x.IsCurrent == true & x.IsDeleted == false);
                }
            }
            if (DtoResource != null)
            {
                DtoResource.ResourceType = this.RepositoryResourceType;
                DatabaseOperationOutcome.ReturnedResourceList.Add(DtoResource);
            }
            return(DatabaseOperationOutcome);
        }