public static bool UpdatePositionTransferDetails(TransferPositionDetailsEditView updateInput) { IDalSession session = NHSessionFactory.CreateSession(); try { IPositionTransfer transfer = PositionTransferMapper.getTransfer(session, updateInput.ParentTransfer); IPositionTransferDetail updatingLine = null; if (updateInput.Key == 0) updatingLine = new PositionTransferDetail() { ParentTransfer = transfer }; else updatingLine = PositionTransferMapper.getTransferDetail(session, updateInput.Key); updatingLine = assignProperties(updateInput, updatingLine, session); return session.InsertOrUpdate(updatingLine); } finally { session.Close(); } }
private static void createTransferDetails(IPositionTransferPortfolio currentPortfolio, TransferType typeOfTransfer, decimal transferAmount, IPositionTransfer parent) { foreach (IPositionTransferPosition pos in currentPortfolio.Positions) { IPositionTransferDetail newDetail = new PositionTransferDetail(pos, typeOfTransfer, transferAmount); parent.TransferDetails.AddPosition(newDetail); } }