public async Task <AssetData> GetAssetData(string ticket, int userId) { var searchData = await Search(ticket); if (searchData == null) { return(null); } if (AssetTypes.STOCK == searchData.Type) { var stockInfo = new StockInfo(_marketData, _financeData, ticket); RegisterAllOperations(stockInfo, userId); return(await GetAssetData(stockInfo)); } if (AssetTypes.ETF == searchData.Type) { var fondInfo = new FondInfo(_marketData, _financeData, ticket); RegisterAllOperations(fondInfo, userId); return(await GetAssetData(fondInfo)); } if (AssetTypes.OFZ == searchData.Type) { var bondInfo = new BondInfo(_marketData, _financeData, ticket); RegisterAllOperations(bondInfo, userId); return(await GetAssetData(bondInfo)); } return(null); }
private void RegisterOperation(List<AssetInfo> assets, AssetOperation operation) { if (operation.AssetType.Name == SeedFinanceData.STOCK_ASSET_TYPE) { var asset = assets.FirstOrDefault(a => a.Ticket == operation.Ticket); if (asset == null) { var stockInfo = new StockInfo(_marketData, _financeDataService, operation.Ticket); assets.Add(stockInfo); asset = stockInfo; } asset.RegisterOperation(operation); } if (operation.AssetType.Name == SeedFinanceData.FOND_ASSET_TYPE) { var asset = assets.FirstOrDefault(a => a.Ticket == operation.Ticket); if (asset == null) { var fondInfo = new FondInfo(_marketData, _financeDataService, operation.Ticket); assets.Add(fondInfo); asset = fondInfo; } asset.RegisterOperation(operation); } if (operation.AssetType.Name == SeedFinanceData.BOND_ASSET_TYPE) { var asset = assets.FirstOrDefault(a => a.Ticket == operation.Ticket); if (asset == null) { var bondInfo = new BondInfo(_marketData, _financeDataService, operation.Ticket); assets.Add(bondInfo); asset = bondInfo; } asset.RegisterOperation(operation); } }
public void UpdateFonds(FondInfo Fonds) { _IFond.Update(Fonds); }
public void AddFonds(FondInfo Fonds) { _IFond.Add(Fonds); }