public void SaveACAccountPosition(AccountBasicInfoRequest account) { string acctid = _accountsRepository.CreateAccountBasicInfo(account); AssetClassAccount ACacct = _accountsRepository.GetAllAssetPositions(); SaveAssetClassPositionsRequest req = new SaveAssetClassPositionsRequest() { AccountId = acctid, Balance = 1000, ACPositions = new List <SaveAssetClassPosition>() { new SaveAssetClassPosition() { assetClass = new SaveAssetClass() { SecId = ACacct.ACPositions[0].assetClass.SecId }, Pct = 50 }, new SaveAssetClassPosition() { assetClass = new SaveAssetClass() { SecId = ACacct.ACPositions[1].assetClass.SecId }, Pct = 50 } } }; bool res = _accountsRepository.SaveAssetAccountPositions(req); Assert.True(res); }
public AssetClassAccount Calculate(List <OpenPosition> listOfPosition) { AssetClassAccount acAcct = new AssetClassAccount(); SortedList <string, PositionAmountPair> mapOfSecAmount = new SortedList <string, PositionAmountPair>(); //acAcct.AccountId = accountId; double dBalance = ExtractSecurityAmount(listOfPosition, ref mapOfSecAmount); acAcct.Balance = dBalance; List <AssetClass> listOfAssetClass = _brokerMgrRepository.GetAssetClassification(false); //mapOfACSecurity = BuildACSecurityMap(listOfAssetClass); acAcct.ACPositions = new List <AssetClassPosition>(); foreach (AssetClass assetObj in listOfAssetClass) { if (assetObj.AssetType == "O") { continue; } string lGSecID = assetObj.SecId; long lPositionID = 0; double dPct = 0.0; mapOfSecAmount.TryGetValue(lGSecID, out PositionAmountPair posAmtPair); if (posAmtPair != null) { lPositionID = mapOfSecAmount[lGSecID].m_lPositionID; if (dBalance > 0.0) { dPct = ((mapOfSecAmount[lGSecID].m_dAmount) / dBalance) * 100; } } AssetClassPosition acPos = new AssetClassPosition(); acPos.assetClass = assetObj; acPos.Pct = dPct; acPos.assetClass.SecId = lGSecID; acPos.PositionId = lPositionID; acAcct.ACPositions.Add(acPos); } return(acAcct); }
public void GetACAccountPosition() { AssetClassAccount ACacct = _accountsRepository.GetAllAssetPositions(); Assert.True(ACacct != null && ACacct.ACPositions.Count > 0); }