Пример #1
0
#pragma warning disable CS1573 // Parameter has no matching param tag in the XML comment (but other parameters do)
        public async Task <IActionResult> TransactionDetailsByAddress(string address, TransactionFilter filter)
#pragma warning restore CS1573 // Parameter has no matching param tag in the XML comment (but other parameters do)
        {
            if (!CommonHelpers.IsValidAddress(address))
            {
                return(BadRequest("Incorect format of the address")); //return 400 error
            }

            TxHashSetCollection res;

            try
            {
                res = await _repository.GetDetailedTransactionsByAddress(address);
            }
            catch (Exception e)
            {
                _logger.LogError(e, "Error occured in " + nameof(TransactionDetailsByAddress));
                return(StatusCode(504)); //returns 504
            }

            List <TransactionContainer> sorted;

            if (filter == TransactionFilter.All)
            { // all transactions
                sorted = (from i in res orderby i.Transaction.Timestamp descending select i).ToList();
            }
            else
            { // only confirmed
                sorted = (from i in res where (bool)i.IsConfirmed orderby i.Transaction.Timestamp descending select i).ToList();
            }

            if (res.CompleteSet)
            {
                return(Json(sorted));
            }
            else
            {
                return(StatusCode((int)HttpStatusCode.PartialContent, sorted));
            }
        }