Пример #1
0
        public IHttpActionResult Put([FromUri] int id, [FromBody] CreateAnalysisGroupModel updatedAnalysisGroup)
        {
            if (updatedAnalysisGroup != null && updatedAnalysisGroup.Id != id)
            {
                return(this.Error().InvalidParameters("Id does not match"));
            }

            if (!_validator.IsValid(updatedAnalysisGroup))
            {
                return(_validator.BadRequest());
            }

            var existingAnalysisGroup = _analysisGroupRepository.Get(id);

            if (existingAnalysisGroup is null)
            {
                return(this.Error().ResourceNotFound($"Analysis Group with id {id} does not exist"));
            }

            _mapper.Map(updatedAnalysisGroup, existingAnalysisGroup);
            existingAnalysisGroup.ModifiedBy = GetCurrentUserId();

            _analysisGroupRepository.Update(existingAnalysisGroup);
            _analysisGroupRepository.SaveChanges();

            return(Ok(Mappings.MapToAnalysisGroupModel(existingAnalysisGroup, _campaignRepository, _clashRepository,
                                                       _productRepository, _usersRepository, _mapper)));
        }
Пример #2
0
        public IHttpActionResult Post([FromBody] CreateAnalysisGroupModel newAnalysisGroup)
        {
            if (!_validator.IsValid(newAnalysisGroup))
            {
                return(_validator.BadRequest());
            }

            var item = _mapper.Map <AnalysisGroup>(newAnalysisGroup);

            item.Id         = 0;
            item.CreatedBy  = GetCurrentUserId();
            item.ModifiedBy = item.CreatedBy;

            _analysisGroupRepository.Add(item);
            _analysisGroupRepository.SaveChanges();

            return(Ok(Mappings.MapToAnalysisGroupModel(item, _campaignRepository, _clashRepository, _productRepository,
                                                       _usersRepository, _mapper)));
        }