public override async Task <ExportResponse> Handle(Query request, CancellationToken cancellationToken) => new ExportResponse( CSVExport.GenerateFilename("cryptos"), CSVExport.Generate( (await _storage.GetCryptos(request.UserId)) ) );
public void FilenameEndsWithCSV() { var filename = CSVExport.GenerateFilename("option"); Assert.Contains("option", filename); Assert.EndsWith("csv", filename); }
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))); }
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))); }
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)))); }
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))); }
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)); }
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))); }
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))); }