private User UpdateUserBalance(PlaceOrderRequest request) { var user = _repository.GetUser(request.UserId); user.UpdateBalance(request.OrderAmount); _repository.UpdateUser(user); return(user); }
public ObjectResult PlaceOrder(PlaceOrderRequest request) { try { var user = UpdateUserBalance(request); if (user.HasExceededBalance()) { _bus.Publish(new CanNotOrder()); } return(Ok(true)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }