public async Task <IActionResult> Put([FromBody] ExpenseManageModel value) { var userId = _validateHelper.GetUserId(HttpContext); try { var model = await _expenseService.UpdateAsync(userId, value); if (model == null) { return(BadRequest()); } return(Ok(model)); } catch (KeyNotFoundException) { return(NotFound()); } catch (ForbidException) { return(Forbid()); } }
public async Task <ExpenseManageModel> UpdateAsync(string user, ExpenseManageModel model) { if (model == null) { return(null); } // label already test the group is valid var labelModel = await _labelService.GetByIdAsync(user, model.LabelId); if (labelModel == null) { throw new KeyNotFoundException(); } var objToUpdate = _mapper.Map <ExpenseModel>(model); _unitOfWork.BeginTransaction(); var updatedModel = await _repository.UpdateAsync(objToUpdate); var result = await _unitOfWork.CommitAsync(); return(result > 0 ? _mapper.Map <ExpenseManageModel>(updatedModel) : null); }