public bool SplitTransaction(BuyAndHoldSplitTransactionDto dto) { using (var context = new InvestContext()) { var buyAndHoldTransactionTransaction1 = new BuyAndHoldTransactionTransaction { AmountInvested = dto.AmountInvested1, NumberShares = dto.NumberShares1, BuyId = dto.Id, BuySplitPercent = dto.SplitPercent / 100, BuyCommission = 0, DateAdded = DateTime.Now, DateUpdated = DateTime.Now, TransactionGuid = new Guid(), BuyGuid = new Guid() }; context.BuyAndHoldTransactionTransactions.Add(buyAndHoldTransactionTransaction1); var buyAndHoldTransactionTransaction2 = new BuyAndHoldTransactionTransaction { AmountInvested = dto.AmountInvested2, NumberShares = dto.NumberShares2, BuyId = dto.Id, BuySplitPercent = (100 - dto.SplitPercent) / 100, BuyCommission = 0, DateAdded = DateTime.Now, DateUpdated = DateTime.Now, TransactionGuid = new Guid(), BuyGuid = new Guid() }; context.BuyAndHoldTransactionTransactions.Add(buyAndHoldTransactionTransaction2); context.SaveChanges(); } return true; }
public ActionResult SplitTransaction(BuyAndHoldSplitTransactionViewModel model) { var dto = new BuyAndHoldSplitTransactionDto { Id = model.Id, SplitPercent = model.SplitPercent, AmountInvested1 = decimal.Parse(model.AmountInvested1), AmountInvested2 = decimal.Parse(model.AmountInvested2), NumberShares1 = decimal.Parse(model.NumberShares1), NumberShares2 = decimal.Parse(model.NumberShares2) }; var buyAndHoldTransactionDto = _buyAndHoldService.SplitTransaction(dto); return View(model); }