public async Task <TResponse <UpdateReceiptDescriptionModel> > GetById(int userId,
                                                                               int id,
                                                                               int permissionId)
        {
            try
            {
                var checkValid = await _userService.CheckPermission(userId,
                                                                    permissionId);

                if (checkValid.IsSuccess)
                {
                    var receiptDescription = await _receiptDescriptionCacheService.GetById(id);

                    if (receiptDescription != null)
                    {
                        return(await Ok(new UpdateReceiptDescriptionModel(receiptDescription)));
                    }

                    return(await Fail <UpdateReceiptDescriptionModel>(ErrorEnum.RECEIPT_DESCRIPTION_HAS_NOT_EXIST.GetStringValue()));
                }

                return(await Fail <UpdateReceiptDescriptionModel>(checkValid.Message));
            }
            catch (Exception exception)
            {
                return(await Fail <UpdateReceiptDescriptionModel>(exception));
            }
        }