public DtoFhirRelease UpdateFhirRelease(DtoFhirRelease DtoFhirRelease)
        {
            if (DtoFhirRelease == null)
            {
                throw new System.NullReferenceException("DtoFhirRelease cannot be null");
            }
            if (string.IsNullOrWhiteSpace(DtoFhirRelease.FhirVersion))
            {
                throw new System.NullReferenceException("DtoFhirRelease.FhirVersion cannot be null or empty string");
            }

            _FhirRelease DbFhirRelease = IPyroDbContext.FhirRelease.SingleOrDefault(x => x.FhirVersion == DtoFhirRelease.FhirVersion);

            if (DbFhirRelease == null)
            {
                throw new System.NullReferenceException($"Unable to update FhirRelease as no FhirRelease found in the database for the FhirVersion provided: '{DtoFhirRelease.FhirVersion}'");
            }
            else
            {
                DbFhirRelease.FhirVersion     = DtoFhirRelease.FhirVersion;
                DbFhirRelease.Description     = DtoFhirRelease.Description;
                DbFhirRelease.Date            = DtoFhirRelease.Date;
                DbFhirRelease.CreatedDate     = DtoFhirRelease.CreatedDate;
                DbFhirRelease.CreatedUser     = DtoFhirRelease.CreatedUser;
                DbFhirRelease.LastUpdated     = DtoFhirRelease.LastUpdated;
                DbFhirRelease.LastUpdatedUser = DtoFhirRelease.LastUpdatedUser;
            }
            DbFhirRelease = IPyroDbContext.Set <_FhirRelease>().Add(DbFhirRelease);
            this.Save();
            return(IMapper.Map <DtoFhirRelease>(DbFhirRelease));
        }
Ejemplo n.º 2
0
        public IDatabaseOperationOutcome AddResource(Resource Resource, IPyroRequestUri FhirRequestUri)
        {
            var            ResourceEntity = new ResCurrentType();
            DtoFhirRelease DtoFhirRelease = IFhirReleaseCache.GetFhirReleaseByFhirVersion(Hl7.Fhir.Model.ModelInfo.Version);

            IndexSettingSupport.SetResourceBaseAddOrUpdate(Resource, ResourceEntity, Common.Tools.ResourceVersionNumber.FirstVersion(), false, Bundle.HTTPVerb.POST, DtoFhirRelease.Id);
            this.PopulateResourceEntity(ResourceEntity, Resource, FhirRequestUri);
            ResourceEntity.IsCurrent = true;
            this.DbAddEntity <ResCurrentType, ResIndexStringType, ResIndexTokenType, ResIndexUriType, ResIndexReferenceType, ResIndexQuantityType, ResIndexDateTimeType>(ResourceEntity);
            IDatabaseOperationOutcome DatabaseOperationOutcome = IDatabaseOperationOutcomeFactory.CreateDatabaseOperationOutcome();

            DatabaseOperationOutcome.SingleResourceRead = true;
            DatabaseOperationOutcome.ReturnedResourceList.Add(IndexSettingSupport.SetDtoResource(ResourceEntity, this.RepositoryResourceType));
            return(DatabaseOperationOutcome);
        }