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