//BhSpinOff public BhSpinOffDto MapToDto(BhSpinOff model) { var dto = new BhSpinOffDto { Id = model.Id, TransactionDate = model.TransactionDate, Notes = model.Notes, TransactionApplied = model.TransactionApplied, SpinOffItems = MapToDto(model.BhSpinOffItems), SpinOffLinks = MapToDto(model.BhSpinOffLinks), BuyAndHoldTransactions = _buyAndHoldTransactionDomainMap.MapToDto(model.BuyAndHoldTransactions), }; if (model.BhSpinOffSources != null && model.BhSpinOffSources.Count > 0) { dto.SourceId = model.BhSpinOffSources.First().Id; //dto.BhTransactionId = model.BhSpinOffSources.First().BhTransactionId; //dto.BhTransactionDate = model.BhSpinOffSources.First().BhTransactionDate; dto.SecurityId = model.BhSpinOffSources.First().SecurityId; dto.TickerSymbol = model.BhSpinOffSources.First().TickerSymbol; dto.Shares = model.BhSpinOffSources.First().Shares; dto.CostBasisSplit = model.BhSpinOffSources.First().CostBasisSplit; dto.SourceTransactionApplied = model.BhSpinOffSources.First().TransactionApplied; } return dto; }
// public BhSpinOffItem Create(BhSpinOffDto dto) public BhSpinOff Create(BhSpinOffDto dto) { // var model = new BhSpinOffItem var model = new BhSpinOff { Id = dto.Id, TransactionDate = dto.TransactionDate, Notes = dto.Notes, TransactionApplied = dto.TransactionApplied, }; var sourceModel = new BhSpinOffSource { Id = dto.SourceId, CostBasisSplit = dto.CostBasisSplit, SecurityId = dto.SecurityId, TickerSymbol = dto.TickerSymbol, Shares = dto.Shares, TransactionApplied = dto.SourceTransactionApplied }; model.BhSpinOffSources.Add(sourceModel); foreach (var linkDto in dto.SpinOffLinks) { var linkModel = new BhSpinOffLink { Url = linkDto.Url }; model.BhSpinOffLinks.Add(linkModel); } foreach (var itemDto in dto.SpinOffItems) { var itemModel = new BhSpinOffItem { BhTransactionDate = itemDto.BhTransactionDate, BhTransactionId = itemDto.BhTransactionId, TickerSymbol = itemDto.TickerSymbol, SecurityId = itemDto.SecurityId, Shares = itemDto.Shares, Ratio = itemDto.Ratio, CostBasisSplit = itemDto.CostBasisSplit, TransactionApplied = itemDto.TransactionApplied, }; model.BhSpinOffItems.Add(itemModel); } _context.BhSpinOffs.Add(model); try { _context.Database.Log = s => Debug.WriteLine(s); _context.SaveChanges(); } catch (DbEntityValidationException ex) { var w = ex.Message; } catch (Exception ex) { var w = ex.Message; } return model; }