public async Task <bool> Update(ExclusionCriterionDTO exclusion) { bool res = await _exclusionCriterionRepository.UpdateAsync(exclusion); ApplyExclusionCriterion(exclusion); return(res); }
public async Task <int> Create(ExclusionCriterionDTO exclusion) { int res = await _exclusionCriterionRepository.CreateAsync(exclusion); ApplyExclusionCriterion(exclusion); return(res); }
public static ExclusionCriterion ConvertToEntity(this ExclusionCriterionDTO dto) { return(new ExclusionCriterion { Id = dto.Id, StudyId = dto.StudyId, Condition = dto.ExclusionCondition, FieldId = dto.FieldId, Operator = dto.Operator?.GetString() }); }
private async void ApplyExclusionCriterion(ExclusionCriterionDTO exclusion) { var studyPublications = await GetPublicationsForStudy(exclusion.StudyId); await studyPublications.ForEachAsync(p => { var dataField = p.Data.First(d => d.FieldId == exclusion.FieldId); // Check if publication should be excluded or included (change to false if apply returns false) p.Active = p.Active && exclusion.Condition.Apply(dataField.Value); }); }
public async Task <IActionResult> CreateExclusion([FromBody] ExclusionCriterionDTO exclusion) { if (!ModelState.IsValid || exclusion.Id != 0) { return(BadRequest(ModelState)); } var create = await _exclusionLogic.Create(exclusion); exclusion.Id = create; return(Ok(create)); //return CreatedAtAction("GetExclusionById", new {create}, create); }
public async Task <IActionResult> UpdateExclusion([FromBody] ExclusionCriterionDTO exclusion) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var update = await _exclusionLogic.Update(exclusion); if (update) { return(NoContent()); } return(NotFound()); }