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); }
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); }