public async Task <IActionResult> Delete(int actionDeviceId) { ActionDevice actionDevice = await _repository.FindAsync(actionDeviceId); if (actionDevice == null) { return(NotFound(actionDeviceId)); } ActionDeviceViewModel actionDeviceVM = _mapper.Map <ActionDeviceViewModel>(actionDevice); _repository.Delete(actionDevice); await _unitOfWork.SaveChangesAsync(); return(Ok(actionDeviceVM)); }
public async Task <IActionResult> Post([FromBody] ActionDeviceViewModel actionDeviceVM) { if (ModelState.IsValid) { if (actionDeviceVM == null) { return(BadRequest($"{nameof(actionDeviceVM)} cannot be null")); } ActionDevice actionDevice = _mapper.Map <ActionDevice>(actionDeviceVM); EntityEntry <ActionDevice> addedActionDevice = await _repository.InsertAsync(actionDevice); await _unitOfWork.SaveChangesAsync(); actionDeviceVM = _mapper.Map <ActionDeviceViewModel>(addedActionDevice.Entity); return(CreatedAtAction("GetByActionDeviceId", new { actionDeviceId = actionDeviceVM.ActionDeviceId }, actionDeviceVM)); } else { return(BadRequest(ModelState)); } }
public async Task <IActionResult> Patch(int actionDeviceId, [FromBody] JsonPatchDocument <ActionDeviceViewModel> patch) { if (ModelState.IsValid) { if (patch == null) { return(BadRequest($"{nameof(patch)} cannot be null")); } ActionDeviceViewModel actionDeviceVM = _mapper.Map <ActionDeviceViewModel>(await _repository.FindAsync(actionDeviceId)); patch.ApplyTo(actionDeviceVM, e => ModelState.AddModelError("", e.ErrorMessage)); if (ModelState.IsValid) { _repository.Update(_mapper.Map <ActionDevice>(actionDeviceVM)); await _unitOfWork.SaveChangesAsync(); return(NoContent()); } } return(BadRequest(ModelState)); }
public async Task <IActionResult> Put(int actionDeviceId, [FromBody] ActionDeviceViewModel actionDeviceVM) { if (ModelState.IsValid) { if (actionDeviceVM == null) { return(BadRequest($"{nameof(actionDeviceVM)} cannot be null")); } if (actionDeviceId != actionDeviceVM.ActionDeviceId) { return(BadRequest("Conflicting ActionDevice ActionDeviceId in parameter and model data")); } _repository.Update(_mapper.Map <ActionDevice>(actionDeviceVM)); await _unitOfWork.SaveChangesAsync(); return(NoContent()); } else { return(BadRequest(ModelState)); } }