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