Пример #1
0
        //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;
        }
Пример #2
0
        //        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;
        }