public async Task <IActionResult> Patch(int eventConditionId, [FromBody] JsonPatchDocument <EventConditionViewModel> patch) { if (ModelState.IsValid) { if (patch == null) { return(BadRequest($"{nameof(patch)} cannot be null")); } EventConditionViewModel eventConditionVM = _mapper.Map <EventConditionViewModel>(await _repository.FindAsync(eventConditionId)); patch.ApplyTo(eventConditionVM, e => ModelState.AddModelError("", e.ErrorMessage)); if (ModelState.IsValid) { _repository.Update(_mapper.Map <EventCondition>(eventConditionVM)); await _unitOfWork.SaveChangesAsync(); EventCondition updatedEventCondition = await _repository.FindAsync(eventConditionId); eventConditionVM = _mapper.Map <EventConditionViewModel>(updatedEventCondition); return(Ok(eventConditionVM)); } } return(BadRequest(ModelState)); }
public async Task <IActionResult> Post([FromBody] EventConditionViewModel eventConditionVM) { if (ModelState.IsValid) { if (eventConditionVM == null) { return(BadRequest($"{nameof(eventConditionVM)} cannot be null")); } if (eventConditionVM?.DataPoint?.DataPointId > 0) { eventConditionVM.DataPoint = null; } if (eventConditionVM.Event != null) { eventConditionVM.Event = null; } EventCondition eventCondition = _mapper.Map <EventCondition>(eventConditionVM); EntityEntry <EventCondition> addedEventCondition = await _repository.InsertAsync(eventCondition); await _unitOfWork.SaveChangesAsync(); eventConditionVM = _mapper.Map <EventConditionViewModel>(addedEventCondition.Entity); return(CreatedAtAction("GetByEventConditionId", new { eventConditionId = eventConditionVM.EventConditionId }, eventConditionVM)); } else { return(BadRequest(ModelState)); } }
public async Task <IActionResult> Put(int eventConditionId, [FromBody] EventConditionViewModel eventConditionVM) { if (ModelState.IsValid) { if (eventConditionVM == null) { return(BadRequest($"{nameof(eventConditionVM)} cannot be null")); } if (eventConditionId != eventConditionVM.EventConditionId) { return(BadRequest("Conflicting EventCondition EventConditionId in parameter and model data")); } _repository.Update(_mapper.Map <EventCondition>(eventConditionVM)); await _unitOfWork.SaveChangesAsync(); EventCondition updatedEventCondition = await _repository.FindAsync(eventConditionId); eventConditionVM = _mapper.Map <EventConditionViewModel>(updatedEventCondition); return(Ok(eventConditionVM)); } else { return(BadRequest(ModelState)); } }
public async Task <IActionResult> Delete(int eventConditionId) { EventCondition eventCondition = await _repository.FindAsync(eventConditionId); if (eventCondition == null) { return(NotFound(eventConditionId)); } _repository.Delete(eventCondition); await _unitOfWork.SaveChangesAsync(); EventConditionViewModel eventConditionVM = _mapper.Map <EventConditionViewModel>(eventCondition); return(Ok(eventConditionVM)); }