public bool AddBuy(BuyDto buyDto) { try { var context = new InvestContext(); var accountEntity = context.Accounts.FirstOrDefault(p => p.Id == buyDto.AccountId); var buyEntity = new Invest.Domain.Models.Buy { Account = accountEntity, TransactionTypeId = buyDto.TransactionTypeId, TranType = buyDto.TransactionType, AddedBy = buyDto.AddedBy, AmtInv = buyDto.AmtInv, BuyCommission = buyDto.BuyCommission, BuyDate = buyDto.BuyDate, BuyPrice = buyDto.BuyPrice, BuyType = buyDto.BuyType, Comments = buyDto.Comments, DividendAmount = buyDto.DividendAmount, ModifiedBy = buyDto.ModifiedBy, NumShares = buyDto.NumShares, orderby = buyDto.orderby, OriginalBuyGUID = buyDto.OriginalBuyGUID, refID = buyDto.refID, DateAdded = DateTime.Now, DateModified = DateTime.Now, BuyGUID = Guid.NewGuid(), InvestmentClassification = accountEntity.InvestmentClassification, InvestmentClassificationGuid = accountEntity.InvestmentClassificationGuid, SubAccount = accountEntity.SubAccount, SubAccountGuid = accountEntity.SubAccountGuid, Broker = accountEntity.Broker, BrokerGUID = accountEntity.BrokerGUID, }; Invest.Domain.Models.Ticker tickerEntity; // public Ticker Ticker1 { get; set; } if (buyDto.Ticker.Length > 0) { tickerEntity = context.Tickers.FirstOrDefault(p => p.Symbol == buyDto.Ticker); if (tickerEntity == null) { tickerEntity = new Invest.Domain.Models.Ticker { Symbol = buyDto.Ticker, tickerGUID = Guid.NewGuid(), type = "", current = true }; } } else { tickerEntity = context.Tickers.FirstOrDefault(p => p.Id == buyDto.TickerId); } buyEntity.Ticker1 = (tickerEntity != null) ? tickerEntity : new Invest.Domain.Models.Ticker { Symbol = buyDto.Ticker, tickerGUID = Guid.NewGuid(), type = "", current = true }; buyEntity.Ticker = buyDto.Ticker; buyEntity.TickerGUID = tickerEntity.tickerGUID; buyEntity.Transactions.Add(new Invest.Domain.Models.Transaction { AmtInv = buyDto.AmtInv, NumShares = buyDto.NumShares, buySplitPercent = 1, DateAdded = DateTime.Now, DateUpdated = DateTime.Now }); context.SaveChanges(); return true; } catch (Exception ex) { throw; } }
private Invest.Domain.Models.Ticker ConvertToModel(TickerDto tickerDto) { var ticker = new Invest.Domain.Models.Ticker(); ticker.Active = tickerDto.Active; ticker.BCFirstDate = tickerDto.BCFirstDate; ticker.BH = tickerDto.BH; // public System.Data.Objects.DataClasses.EntityCollection<Buy> Buys { get; set; } ticker.CBSFirstDate = tickerDto.CBSFirstDate; ticker.Comments = tickerDto.Comments; ticker.component = tickerDto.component; ticker.current = tickerDto.current; ticker.DateAdded = tickerDto.DateAdded; ticker.DateModified = tickerDto.DateModified; ticker.endDate = tickerDto.endDate; ticker.FirstBuy = tickerDto.FirstBuy; ticker.Id = tickerDto.Id; ticker.InceptionDate = tickerDto.InceptionDate; ticker.LastSell = tickerDto.LastSell; ticker.MCFirstDate = tickerDto.MCFirstDate; ticker.Name = tickerDto.Name; ticker.priceDecimal = tickerDto.priceDecimal; // public System.Data.Objects.DataClasses.EntityCollection<Sell> Sells { get; set; } ticker.shareDecimal = tickerDto.shareDecimal; ticker.startDate = tickerDto.startDate; ticker.Symbol = tickerDto.Symbol; ticker.TickerBC = tickerDto.TickerBC; ticker.TickerBH = tickerDto.TickerBH; ticker.tickerGUID = tickerDto.tickerGUID; ticker.TickerYahoo = tickerDto.TickerYahoo; ticker.type = tickerDto.Type; return ticker; }