Exemplo n.º 1
0
        internal static string ToSerializedString(this TcTransactionStatus status)
        {
            switch (status)
            {
            case TcTransactionStatus.Due:
            case TcTransactionStatus.Paid:
            case TcTransactionStatus.Partial:
            case TcTransactionStatus.Pending:
            case TcTransactionStatus.Void:
                var b = (byte)status;
                return(b.ToString(NumberFormatInfo.InvariantInfo));

            case TcTransactionStatus.WithBalance:
                return("with_balance");

            case TcTransactionStatus.Overdue:
                return("overdue");

            case TcTransactionStatus.Waive:
                return("waive");

            default:
                throw new ArgumentOutOfRangeException(nameof(status), status, "Unknown status");
            }
        }
Exemplo n.º 2
0
        public static IPaginatedSource <TcTransaction> ForStatus(this IPaginatedSource <TcTransaction> source, TcTransactionStatus status)
        {
            if (source is PaginatedSource <TcTransaction> paginatedSource)
            {
                return(paginatedSource.ProjectedWithExtraUrl(url => url + "&status=" + status.ToSerializedString()));
            }

            throw new ArgumentException("Invalid source.");
        }