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());
            }
        }
Exemplo n.º 2
0
        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);
        }