public WalletAssetModel PurchaseWalletAsset(PurchaseWalletAssetModel walletAssetModel) { var wallet = _walletRepository.GetById(walletAssetModel.WalletId); var assetForecast = _assetService.GetAssetForecastById(walletAssetModel.AssetForecastId); if (assetForecast == null) { var asset = _assetService.GetBySymbol("BTC"); var bitcoin = _assetService.GetBitcoinAsync(walletAssetModel.Value).Result; assetForecast = new AssetForecast(asset.Id, bitcoin.Price); } var walleAsset = new WalletAsset(walletAssetModel.WalletId, assetForecast.AssetId, walletAssetModel.Value, assetForecast.Price); wallet.WalletAssets.Add(walleAsset); _walletRepository.Save(wallet); return(walleAsset.ConvertToWalletAssetModel()); }
public static AssetForecastModel ConvertToAssetForecastModel(this AssetForecast assetForecast, int valueToApply) => new AssetForecastModel(assetForecast.Id, assetForecast.Date, assetForecast.Price, valueToApply, new AssetModel(assetForecast.AssetId, assetForecast.Asset.Symbol, assetForecast.Asset.Name, assetForecast.Asset.Type) );
public void AddAssetForecast(AssetForecast assetForecast) { _dataContext.AssetsForecast.Add(assetForecast); _dataContext.SaveChanges(); }