예제 #1
0
        public void IsGetHistory()
        {
            var opt     = new DbContextOptionsBuilder <DatabaseContext>().UseInMemoryDatabase(databaseName: "TestHistory").Options;
            var context = new DatabaseContext(opt);

            AddDb(context);


            var service = new AccountService(context);

            HistoryRequestModel model = new HistoryRequestModel
            {
                UserID = 1,
                From   = DateTime.Parse("20.02.2020"),
                To     = DateTime.Parse("24.04.2020")
            };

            //res.Result, a => a.Time >= DateTime.Parse("20.02.2020") && a.Time <= DateTime.Parse("24.04.2020")
            var res = service.GetHistory(model);


            foreach (var item in res.Result)
            {
                Assert.True(model.From <= item.Time && model.To >= item.Time);
            }
        }
예제 #2
0
        public async Task <List <TransactionDTO> > GetHistory(HistoryRequestModel model)
        {
            var transaction = await _db.Transactions
                              .Where(t => t.Time.Date >= model.From.Date && t.Time.Date <= model.To.Date && t.UserID == model.UserID)
                              .ToListAsync();


            return(transaction.Adapt <List <TransactionDTO> >());
        }
예제 #3
0
        public ServerResponse getHistoric(string symbol, [FromBody] HistoryRequestModel payload)
        {
            ServerResponse sr;

            string[] fields;
            bool     success = true;
            string   message = "";

            //if user didn't specify anything, give them everything!
            if (payload == null || payload.fields == null || payload.fields.Count() == 0 || payload.fields.Contains("*"))
            {
                fields = new string[] { "*" };
            }
            else
            {
                fields = payload.fields.ToArray();
            }
            if (payload.startDate == null || payload.startDate.Equals(""))
            {
                success = false;
                message = "did not supply a start date";
            }
            if (payload.endDate == null || payload.endDate.Equals(""))
            {
                success = false;
                message = "did not supply an end date";
            }

            if (success)
            {
                sr = StockUtilities.getHistoric(symbol, payload.startDate, payload.endDate, payload.type, payload.interval, fields);
            }
            else
            {
                sr = new ServerResponse(success, message, null);
            }

            return(sr);
        }
예제 #4
0
 public async Task <List <TransactionDTO> > Post([FromBody] HistoryRequestModel model)
 {
     return(await _accountService.GetHistory(model));
 }