Exemplo n.º 1
0
        //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;
        }
Exemplo n.º 2
0
 public BhMergerDto CreateMerger(BhMergerDto dto)
 {
     return _bhManager.CreateMerger(dto);
 }
Exemplo n.º 3
0
 public BhMergerDto UpdateMerger(BhMergerDto dto)
 {
     return _bhManager.UpdateMerger(dto);
 }
Exemplo n.º 4
0
 //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);
 }
Exemplo n.º 5
0
        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;
        }
Exemplo n.º 6
0
 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;
 }
Exemplo n.º 7
0
        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;
        }
Exemplo n.º 8
0
        //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,

            };
        }