コード例 #1
0
        public async Task <bool> Update(ExclusionCriterionDTO exclusion)
        {
            bool res = await _exclusionCriterionRepository.UpdateAsync(exclusion);

            ApplyExclusionCriterion(exclusion);
            return(res);
        }
コード例 #2
0
        public async Task <int> Create(ExclusionCriterionDTO exclusion)
        {
            int res = await _exclusionCriterionRepository.CreateAsync(exclusion);

            ApplyExclusionCriterion(exclusion);
            return(res);
        }
コード例 #3
0
 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()
     });
 }
コード例 #4
0
        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);
            });
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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());
        }