Example #1
0
 public override async Task <ExportResponse> Handle(Query request, CancellationToken cancellationToken) =>
 new ExportResponse(
     CSVExport.GenerateFilename("cryptos"),
     CSVExport.Generate(
         (await _storage.GetCryptos(request.UserId))
         )
     );
Example #2
0
        public void FilenameEndsWithCSV()
        {
            var filename = CSVExport.GenerateFilename("option");

            Assert.Contains("option", filename);
            Assert.EndsWith("csv", filename);
        }
Example #3
0
            public override async Task <ExportResponse> Handle(Query query, CancellationToken cancellationToken)
            {
                var notes = await _storage.GetNotes(query.UserId);

                var filename = CSVExport.GenerateFilename("notes");

                return(new ExportResponse(filename, CSVExport.Generate(notes)));
            }
Example #4
0
            public override async Task <ExportResponse> Handle(Query request, CancellationToken cancellationToken)
            {
                var stocks = await _storage.GetStocks(request.UserId);

                var filename = CSVExport.GenerateFilename("stocks");

                return(new ExportResponse(filename, CSVExport.Generate(stocks)));
            }
Example #5
0
            public override async Task <ExportResponse> Handle(Query request, CancellationToken cancellationToken)
            {
                var alerts = await _alertsStorage.GetAlerts(request.UserId);

                var filename = CSVExport.GenerateFilename("alerts");

                return(new ExportResponse(filename, CSVExport.Generate(alerts.Where(a => a.PricePoints.Count > 0))));
            }
Example #6
0
            public override async Task <ExportResponse> Handle(Query request, CancellationToken cancellationToken)
            {
                var stocks = await _storage.GetStocks(request.UserId);

                var open = stocks
                           .Where(s => s.State.Owned > 0)
                           .Select(s => new OwnedStockView(s))
                           .OrderByDescending(s => s.Cost);

                var filename = CSVExport.GenerateFilename("openstocks");

                return(new ExportResponse(filename, CSVExport.Generate(open)));
            }
Example #7
0
            public override async Task<ExportResponse> Handle(Query request, CancellationToken cancellationToken)
            {
                var stocks = await _storage.GetStocks(request.UserId);

                var closedTransactions = stocks
                    .SelectMany(s => s.State.Transactions.Where(t => t.IsPL))
                    .Select(t => new StockTransactionView(t))
                    .OrderByDescending(p => p.Date)
                    .ToList();

                var filename = CSVExport.GenerateFilename("closedstocks");

                return new ExportResponse(filename, CSVExport.Generate(closedTransactions));
            }
Example #8
0
            public override async Task <ExportResponse> Handle(Query request, CancellationToken cancellationToken)
            {
                var stocks = await _storage.GetStocks(request.UserId);

                var trades = stocks
                             .SelectMany(s => s.State.PositionInstances)
                             .Where(p => p.IsClosed)
                             .Select(p => new StockTradeView(p))
                             .OrderByDescending(p => p.Closed)
                             .ToList();

                var filename = CSVExport.GenerateFilename("closedstocks");

                return(new ExportResponse(filename, CSVExport.Generate(trades)));
            }
Example #9
0
            public async Task <ExportResponse> Handle(Users.Export request, CancellationToken cancellationToken)
            {
                var pairs = await _storage.GetUserEmailIdPairs();

                var users = new List <User>();

                foreach (var(email, userId) in pairs)
                {
                    var guid = new System.Guid(userId);
                    var user = await _storage.GetUser(guid);

                    users.Add(user);
                }

                var filename = CSVExport.GenerateFilename("users");

                return(new ExportResponse(filename, CSVExport.Generate(users)));
            }