//BhMerger public BhMergerDto MapToDto(BhMerger model) { var dto = new BhMergerDto { Id = model.Id, TransactionDate = model.TransactionDate, Notes = model.Notes, TransactionApplied = model.TransactionApplied, MergerItems = MapToDto(model.BhMergerItems), MergerLinks = MapToDto(model.BhMergerLinks), BuyAndHoldTransactions = _buyAndHoldTransactionDomainMap.MapToDto(model.BuyAndHoldTransactions), }; if (model.BhMergerSources != null && model.BhMergerSources.Count > 0) { dto.SourceId = model.BhMergerSources.First().Id; dto.BhTransactionId = model.BhMergerSources.First().BhTransactionId; dto.BhTransactionDate = model.BhMergerSources.First().BhTransactionDate; dto.SecurityId = model.BhMergerSources.First().SecurityId; dto.TickerSymbol = model.BhMergerSources.First().TickerSymbol; dto.Shares = model.BhMergerSources.First().Shares; dto.SourceTransactionApplied = model.BhMergerSources.First().TransactionApplied; } return dto; }
public BhMergerDto CreateMerger(BhMergerDto dto) { return _bhManager.CreateMerger(dto); }
public BhMergerDto UpdateMerger(BhMergerDto dto) { return _bhManager.UpdateMerger(dto); }
//public BhManager(IBuyAndHoldDal buyAndHoldDal, IBuyAndHoldRawTransactionMapper buyAndHoldRawTransactionMapper, IBuyAndHoldTransactionMapper buyAndHoldTransactionMapper) //{ // _buyAndHoldDal = buyAndHoldDal; // _buyAndHoldRawTransactionMapper = buyAndHoldRawTransactionMapper; // _buyAndHoldTransactionMapper = buyAndHoldTransactionMapper; //} public BhMergerDto CreateMerger(BhMergerDto dto) { var model = _bhMergerDal.Create(dto); return _bhMergerDomainMap.MapToDto(model); }
public BhMerger Create(BhMergerDto dto) { var model = new BhMerger { Id = dto.Id, TransactionDate = dto.TransactionDate, Notes = dto.Notes, TransactionApplied = dto.TransactionApplied, }; var sourceModel = new BhMergerSource { Id = dto.SourceId, BhTransactionId = dto.BhTransactionId, BhTransactionDate = dto.BhTransactionDate, SecurityId = dto.SecurityId, TickerSymbol = dto.TickerSymbol, Shares = dto.Shares, TransactionApplied = dto.SourceTransactionApplied }; model.BhMergerSources.Add(sourceModel); foreach (var linkDto in dto.MergerLinks) { var linkModel = new BhMergerLink { Url = linkDto.Url }; model.BhMergerLinks.Add(linkModel); } foreach (var itemDto in dto.MergerItems) { var itemModel = new BhMergerItem { BhTransactionDate = itemDto.BhTransactionDate, BhTransactionId = itemDto.BhTransactionId, TickerSymbol = itemDto.TickerSymbol, SecurityId = itemDto.SecurityId, Shares = itemDto.Shares, Ratio = itemDto.Ratio, CashPerShare = itemDto.CashPerShare, CashRecieved = itemDto.CashRecieved, CostBasisSplit = itemDto.CostBasisSplit, TransactionApplied = itemDto.TransactionApplied, }; model.BhMergerItems.Add(itemModel); } _context.BhMergers.Add(model); try { _context.Database.Log = s => System.Diagnostics.Debug.WriteLine(s); _context.SaveChanges(); } catch (DbEntityValidationException ex) { var w = ex.Message; } return model; }
private BhMergerSource MapDtoToModel(BhMergerDto dto, BhMergerSource model) { model.Id = dto.SourceId; model.BhTransactionId = dto.BhTransactionId; model.BhTransactionDate = dto.BhTransactionDate; model.SecurityId = dto.SecurityId; model.TickerSymbol = dto.TickerSymbol; model.Shares = dto.Shares; model.TransactionApplied = dto.SourceTransactionApplied; return model; }
public BhMerger Update(BhMergerDto dto) { var model = _context.BhMergers.FirstOrDefault(p => p.Id == dto.Id); model.TransactionDate = dto.TransactionDate; model.Notes = dto.Notes; model.TransactionApplied = dto.TransactionApplied; if (dto.SourceId > 0) { var sourcemodel = _context.BhMergerSources.FirstOrDefault(p => p.Id == dto.SourceId); MapDtoToModel(dto, sourcemodel); } else { model.BhMergerSources.Add(MapDtoToModel(dto, new BhMergerSource())); } //var sourceModel = new BhMergerSource //{ // Id = dto.SourceId, // BhTransactionId = dto.BhTransactionId, // BhTransactionDate = dto.BhTransactionDate, // SecurityId = dto.SecurityId, // TickerSymbol = dto.TickerSymbol, // Shares = dto.Shares, // TransactionApplied = dto.SourceTransactionApplied //}; // model.BhMergerSources.Add(sourceModel); foreach (var linkDto in dto.MergerLinks) { if (linkDto.Id > 0) { var linkModel = _context.BhMergerLinks.FirstOrDefault(p => p.Id == linkDto.Id); MapDtoToModel(linkDto, linkModel); } else { model.BhMergerLinks.Add(MapDtoToModel(linkDto, new BhMergerLink())); } } foreach (var itemDto in dto.MergerItems) { if (itemDto.Id > 0) { var itemModel = _context.BhMergerItems.FirstOrDefault(p => p.Id == itemDto.Id); MapDtoToModel(itemDto, itemModel); } else { model.BhMergerItems.Add(MapDtoToModel(itemDto, new BhMergerItem())); } } //_context.BhMergers.Add(model); _context.SaveChanges(); return model; }
//BhMerger public BhMergerViewModel MapToViewModel(BhMergerDto dto) { return new BhMergerViewModel { Id = dto.Id, TransactionDate = dto.TransactionDate, //Ratio = model.Ratio, Notes = dto.Notes, TransactionApplied = dto.TransactionApplied, MergerItems = MapToViewModel(dto.MergerItems), MergerLinks = MapToViewModel(dto.MergerLinks), Transactions = _buyAndHoldTransactionDtoMap.MapToViewModel(dto.BuyAndHoldTransactions), //InTransactions = _buyAndHoldTransactionDtoMap.MapToViewModel(dto.BuyAndHoldTransactions.Where(p=>p.SecurityId == dto.SecurityId).OrderBy(p=>p.TransactionDate)), //OutTransactions = _buyAndHoldTransactionDtoMap.MapToViewModel(dto.BuyAndHoldTransactions.Where(p => p.SecurityId != dto.SecurityId).OrderBy(p => p.TransactionDate)), SourceId = dto.SourceId, BhTransactionId = dto.BhTransactionId, BhTransactionDate = dto.BhTransactionDate, SecurityId = dto.SecurityId, TickerSymbol = dto.TickerSymbol, Shares = dto.Shares, SourceTransactionApplied = dto.SourceTransactionApplied, }; }