public CashMutationViewGop(IGeneralOperationsBooking booking, ICashSubPosition position, bool isSettled) { this.Booking = booking; this.Position = position; setTransactionType(); this.SearchKey = "G" + Booking.Key.ToString(); CreationDate = Booking.CreationDate; TransactionDate = Booking.BookDate; this.IsSettled = isSettled; setGopValue(); }
public CashMutationViewTX(ITransaction trade, ICashSubPosition position) { this.Trade = trade; this.Position = position; setTransactionType(); this.SearchKey = "T" + Trade.Key.ToString(); CreationDate = Trade.CreationDate; TransactionDate = Trade.TransactionDate; Money amount = null; if (position != null && position.SettledFlag == CashPositionSettleStatus.UnSettled && ((ICashSubPositionUnSettled)position).UnSettledType != null && !((ICashSubPositionUnSettled)position).UnSettledType.IsDefault) amount = trade.TradingJournalEntry.Lines.Where(x => x.ParentSubPosition != null && x.ParentSubPosition.Key == position.Key).Select(x => x.Balance).Sum(); else amount = trade.TotalAmount; this.Amount = amount; }
private static CashDetailLineCollection GetCashDetailLines(IDalSession session, ICashSubPosition position) { IAccountTypeInternal account = position.ParentPosition.Account; CashDetailLineCollection newColl = new CashDetailLineCollection(account); IList<IJournalEntryLine> lines = position.JournalLines.ToList(); var grouping = from c in lines group c by new { groupKey = c.GroupingKey, TxDate = c.Parent.TransactionDate, IsTx = c.GroupingbyTransaction }; foreach (var key in grouping) { bool IsTx = key.Key.IsTx; if (!IsTx) newColl.AddcashLine(key.ElementAt(0)); else newColl.AddTradeLine(key.ToList()); } return newColl; }
public static DataView GetCashPositionTransactions(IDalSession session, ICashSubPosition position, DateTime beginDate, DateTime endDate, bool retrieveNonClientDisplayable, string sortColumn) { string[] sortExprs = sortColumn.Split(' '); string sortDirection = "ASC"; if (sortExprs.Length > 1) sortDirection = sortExprs[1]; if (Util.IsNullDate(beginDate)) beginDate = SqlDateTime.MinValue.Value; if (Util.IsNullDate(endDate)) endDate = SqlDateTime.MaxValue.Value; DataSet ds = getCashPosTxDetails(session, position, retrieveNonClientDisplayable) .Where(x => x.TransactionDate >= beginDate && x.TransactionDate <= endDate) .Select(ptx => new { ptx.Key, ptx.TransactionType, ptx.SearchKey, ptx.FullDescription, ptx.AmountQuantity, ptx.DisplayAmount, ptx.Saldo, SaldoQuantity = ptx.Saldo.Quantity, ptx.TransactionDate, ptx.CreationDate }) .ToDataSet(); DataView dv = ds.Tables[0].DefaultView; string sortExpression = sortExprs[0] + " " + sortDirection; if (sortExprs[0].ToLower() == "transactiondate") sortExpression += ", Key " + sortDirection; dv.Sort = sortExpression; return dv; }
public BuyingPowerDisplay(ICashSubPosition subPosition, bool repeat, IAccountTypeInternal account) { ICashPosition position = subPosition.ParentPosition; this.PositionID = position.Key; this.SubPositionID = subPosition.Key; if (subPosition.SettledFlag == CashPositionSettleStatus.UnSettled) { ICashSubPositionUnSettled unSettlPos = (ICashSubPositionUnSettled)subPosition; if (unSettlPos.UnSettledType != null && unSettlPos.UnSettledType.IncludeBuyingPower && !unSettlPos.UnSettledType.IsDefault) { this.LineDescription = ((ICashSubPositionUnSettled)subPosition).UnSettledType.Description; if (!subPosition.ParentPosition.PositionCurrency.IsBase) this.LineDescription += " " + position.PositionCurrency.Name; this.IsUnSettledIncludeBuyingPower = true; } } else { if (repeat) this.LineDescription = position.PositionCurrency.Name; } this.Status = subPosition.SettledFlag.ToString(); this.Value = subPosition.Size; if (position.PositionCurrency.ExchangeRate != null) this.ExRate = position.PositionCurrency.ExchangeRate.Rate; else { if (position.PositionCurrency.IsBase) this.ExRate = 1M; else this.ExRate = 0M; } this.BaseValue = subPosition.SizeInBaseCurrency; this.IsSubTotalLine = false; this.IsCashFundLine = false; this.IsCashLine = true; }
private Money getPositionSize(ICashSubPosition position) { Money returnValue; if (position != null) returnValue = position.Size; else returnValue = new Money(0m, this.Account.BaseCurrency); return returnValue; }
/// <summary> /// Used by the client site. /// </summary> public static DataView GetCashPositionTransactions(IDalSession session, ICashSubPosition position, string sortColumn) { return GetCashPositionTransactions(session, position, SqlDateTime.MinValue.Value, SqlDateTime.MaxValue.Value, false, sortColumn); }
private static List<CashPosTxHelper> getCashPosTxDetails(IDalSession session, ICashSubPosition position, bool retrieveNonClientDisplayable) { Money runningTotal = position.ParentPosition.CurrentValue.ZeroedAmount(); List<ICashMutationView> list = AccountMapper.GetCashPositionTransactions( session, position, SqlDateTime.MinValue.Value, SqlDateTime.MaxValue.Value, retrieveNonClientDisplayable); return list .OrderBy(ptx => ptx.TransactionDate) .ThenBy(ptx => ptx.Key) .Select(ptx => new CashPosTxHelper( ptx.Key, ptx.TransactionType, ptx.SearchKey, ptx.FullDescription, ptx.Amount.Quantity, ptx.DisplayAmount, ptx.TransactionDate, ptx.CreationDate, runningTotal += ptx.Amount) ).ToList(); }