private PositionsForEditVm[] MapToVm(dynamic[] sourcePositions) { List <PositionsForEditVm> posVms = new List <PositionsForEditVm>(); AccountDataProcessing accountDataAccessComponent = new AccountDataProcessing(_ctx); for (var i = 0; i < sourcePositions.Length; i++) { var updatedPos = new PositionsForEditVm { PositionId = sourcePositions[i].positionId.Value, Status = sourcePositions[i].status.Value, AssetClass = sourcePositions[i].assetClass.Value, Account = sourcePositions[i].accountTypeDesc.Value, AccountTypeId = accountDataAccessComponent.GetAccountTypeId(sourcePositions[i].accountTypeDesc.Value), // Any change in 'PymtDue' results in true/false cast as a string -- not a boolean. PymtDue = sourcePositions[i].pymtDue.Value.GetType() == typeof(string) ? bool.Parse(sourcePositions[i].pymtDue.Value) : sourcePositions[i].pymtDue.Value }; posVms.Add(updatedPos); updatedPos = null; } return(posVms.ToArray()); }
private List <Position> InitializePositions(List <Position> initializedPositions, string[] currentRow) { // AssetId MUST never be null & always point to a referencing Asset when creating new Position(s). if (assetIdForPosition == string.Empty || assetIdForPosition == null) { return(null); } // Build Position listing. if (initializedPositions == null) { return(null); } if (currentRow == null) { throw new ArgumentNullException("currentRow"); } var mktPrice = decimal.Parse(currentRow.ElementAt(4)); var acctDataAccessComponent = new AccountDataProcessing(_ctx); Position newPosition = null; try { newPosition = new Position { PositionId = Guid.NewGuid().ToString(), AccountTypeId = acctDataAccessComponent.GetAccountTypeId(currentRow.ElementAt(0)), AssetId = assetIdForPosition, Fees = 0M, LastUpdate = DateTime.Now, PositionDate = DateTime.Now, Quantity = int.Parse(currentRow.ElementAt(3)), Status = "A", UnitCost = decimal.Parse(currentRow.ElementAt(4)) }; } catch (Exception) { Log.Error("Error creating Position within ImportFileProcessing.InitializePositions()."); return(null); } initializedPositions.Add(newPosition); return(initializedPositions); }
public IQueryable <string> GetAccountTypes() { AccountDataProcessing accountTypeDataAccessComponent = new AccountDataProcessing(_context); return(accountTypeDataAccessComponent.GetAllAccountTypes()); }