예제 #1
0
        public async Task <HttpResponseMessage> GetProjects([FromUri] TransactionCriteria criteria)
        {
            try
            {
                using (var repository = new CrowdFundingTransactions())
                {
                    var transaction = await repository.ReadProjects(criteria);

                    if (transaction.Result == TransResult.Success)
                    {
                        return(Request.CreateResponse(HttpStatusCode.OK, transaction.ReturnObject));
                    }
                    else
                    {
                        return(Request.CreateResponse(HttpStatusCode.OK, transaction.Message));
                    }
                }
            }
            catch (Exception e) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e.Message)); }
        }
예제 #2
0
        public void TransactionBusinessLogic_GetByCriteria_With_Invalid_Criteria(
            string currencyCode,
            string status,
            string startDate,
            string endDate)
        {
            // mock
            var criteria = new TransactionCriteria
            {
                CurrencyCode = currencyCode,
                Status       = status,
                StartDate    = startDate,
                EndDate      = endDate
            };
            // action
            var result = _transactionBusinessLogic.GetByCriteria(criteria);

            // assert
            _transactionRepository.Verify(x => x.GetAll(), Times.Once);
            _logger.Verify(x => x.Error(It.IsAny <string>()), Times.Once);
        }
예제 #3
0
        public void TransactionBusinessLogic_CanGetByCriteria()
        {
            // mock
            var criteria = new TransactionCriteria
            {
                CurrencyCode = "USD",
                Status       = "D",
                StartDate    = "22/12/2020",
                EndDate      = "30/12/2020"
            };
            // action
            var result = _transactionBusinessLogic.GetByCriteria(criteria);

            // assert
            _transactionRepository.Verify(x => x.GetAll(), Times.Once);
            _logger.Verify(x => x.Error(It.IsAny <string>()), Times.Never);

            Assert.AreEqual(1, result.Count);
            Assert.AreEqual("TransactionId_02", result[0].TransactionId);
            Assert.AreEqual(150, result[0].Amount);
            Assert.AreEqual("USD", result[0].CurrencyCode);
            Assert.AreEqual(new DateTime(2020, 12, 25), result[0].Date);
            Assert.AreEqual("D", result[0].Status);
        }
        private void UpdateTransactions()
        {
            // Protect against SelectedAccount being null
            if (this.UserContext.SelectedAccount == null)
                return;

            TransactionCriteria criteria = new TransactionCriteria
            {
                AccountIdSpecified = true,
                AccountId = this.UserContext.SelectedAccount.Id,

                FromDateSpecified = FromDate.HasValue,
                FromDate = FromDate.HasValue ? FromDate.Value : DateTime.MinValue,

                ToDateSpecified = ToDate.HasValue,
                ToDate = ToDate.HasValue ? ToDate.Value : DateTime.MinValue,
            };
            _tradingService.GetTransactionSummariesAsync(criteria);
        }
예제 #5
0
        public IActionResult TransactionsPost([FromHeader] string secret, [FromHeader] string token, [FromBody] TransactionCriteria transactionCriteria)
        {
            string exampleJson = null;

            var example = exampleJson != null
            ? JsonConvert.DeserializeObject <List <Transaction> >(exampleJson)
            : default(List <Transaction>);

            return(new ObjectResult(example));
        }