Ejemplo n.º 1
0
        public async Task Run()
        {
            //var dao = new UserTransactionDataAccessObject();
            //var result=dao.GetWeightMultipliers(userId);

            //_ctx.Database.EnsureCreated();


            //var bo = new PortfolioBusinessObject();
            //bo.GetUserPortfolio(userId);
            var aircanada = Guid.Parse("390E3C86-A52B-4FAA-97DD-30D9EBE65236");
            //var fibrauno = Guid.Parse("E8D2583B-4806-4B3A-BF41-003F80866AD4");
            //var toppan = Guid.Parse("4E98576D-FCAE-4F7B-9BBE-00502B494D2F");

            //using var _ctx = new MarketAnalyzerDBContext();

            ////var newBO = new NoteBusinessObject();
            ////var listOfNotes = newBO.List();


            ////var userId = "d7370f8b-bc60-45ed-b8b4-53e57ba43c56";
            //var newcompanyId = Guid.Parse("390E3C86-A52B-4FAA-97DD-30D9EBE65236");
            //var result = dao.GetStockValuePerYear(newcompanyId);

            //var _userNote = new List<Note>()
            //{
            //    new Note("Very good", newcompanyId , userId),
            //    new Note("Not so good", newcompanyId , userId),
            //    new Note("Yes!", newcompanyId , userId)
            //};
            //_ctx.Notes.AddRange(_userNote);
            //_ctx.SaveChanges();

            var dao          = new CompanyDataAccessObject();
            var futureGrowth = new FutureGrowth();

            var listFuture = futureGrowth.GetFutureValues(aircanada);
        }
        public IActionResult Details(IndexViewModel indexViewModel)
        {
            var stockData = this.analysis.GetStockData(indexViewModel.WeightNumberRoic, indexViewModel.WeightNumberEquity, indexViewModel.WeightNumberEPS, indexViewModel.WeightNumberRevenue, indexViewModel.WeightNumberPERatio, indexViewModel.WeightNumberDebtToEquity, indexViewModel.WeightNumberAssetsToLiabilities);

            var model           = new CompanyDetailsViewModel();
            var detailsDataPoco = new DetailsDataPoco();
            var notesBO         = new NoteBusinessObject();
            var user            = User.Identity.GetUserId();

            var growthPrediction = new FutureGrowth();


            var item = stockData
                       .Where(x => x.CompanyDataPoco.Company.Ticker == indexViewModel.Ticker)
                       .SingleOrDefault();

            if (item != null)
            {
                detailsDataPoco.CompanyGrowthPrediction = growthPrediction.GetFutureValues(item.CompanyDataPoco.Company.Id);
                var notes = notesBO.GetNotes(user, item.CompanyDataPoco.Company.Id);
                detailsDataPoco.CompanyId = item.CompanyDataPoco.Company.Id;
                detailsDataPoco.MarketCapLastFiveYearsGrowth = item.StockAnalysis.MarketCapSlopeInfo.LastFiveYearsGrowth;
                detailsDataPoco.MarketCapLastTenYearsGrowth  = item.StockAnalysis.MarketCapSlopeInfo.LastTenYearsGrowth;
                detailsDataPoco.Marketcap             = item.StockAnalysis.MarketCapSlopeInfo.Growth;
                detailsDataPoco.MedianMarketCapGrowth = item.StockAnalysis.MarketCapSlopeInfo.GrowthMedian;

                detailsDataPoco.RevenueGrowth = item.StockAnalysis.RevenueSlopeInfo.Growth;
                detailsDataPoco.EquityGrowth  = item.StockAnalysis.EquitySlopeInfo.Growth;
                detailsDataPoco.EpsGrowth     = item.StockAnalysis.EPSSlopeInfo.Growth;

                detailsDataPoco.EquityNominalValues  = item.StockAnalysis.EquitySlopeInfo.NominalValues;
                detailsDataPoco.EPSNominalValues     = item.StockAnalysis.EPSSlopeInfo.NominalValues;
                detailsDataPoco.RevenueNominalValues = item.StockAnalysis.RevenueSlopeInfo.NominalValues;
                detailsDataPoco.Roic = item.StockAnalysis.RoicSlopeInfo.NominalValues;

                detailsDataPoco.PERatio             = item.StockAnalysis.PERatio;
                detailsDataPoco.AssetsToLiabilities = item.StockAnalysis.AssetsToLiabilities;
                detailsDataPoco.DebtToEquity        = item.StockAnalysis.DebtToEquity;
                detailsDataPoco.StockPrice          = item.StockPrice;

                detailsDataPoco.CompanyName        = item.CompanyDataPoco.Company.Name;
                detailsDataPoco.Forbes2000Rank     = item.CompanyDataPoco.Company.Forbes2000Rank;
                detailsDataPoco.Ticker             = item.CompanyDataPoco.Company.Ticker;
                detailsDataPoco.MarketAnalyzerRank = item.MarketAnalyzerRank;

                detailsDataPoco.AssetsToLiabilitiesFitness = item.StockFitness.AssetsToLiabilitiesFitness;
                detailsDataPoco.DebtToEquityFitness        = item.StockFitness.DebtToEquityFitness;
                detailsDataPoco.RoicFitness    = item.StockFitness.RoicFitness;
                detailsDataPoco.EquityFitness  = item.StockFitness.EquityFitness;
                detailsDataPoco.EPSFitness     = item.StockFitness.EPSFitness;
                detailsDataPoco.RevenueFitness = item.StockFitness.RevenueFitness;
                detailsDataPoco.PERatioFitness = item.StockFitness.PERatioFitness;
                detailsDataPoco.TotalFitness   = item.StockFitness.RoicFitness * indexViewModel.WeightNumberRoic + item.StockFitness.EquityFitness * indexViewModel.WeightNumberEquity + item.StockFitness.EPSFitness * indexViewModel.WeightNumberEPS + item.StockFitness.RevenueFitness * indexViewModel.WeightNumberRevenue + item.StockFitness.PERatioFitness * indexViewModel.WeightNumberPERatio + item.StockFitness.DebtToEquityFitness * indexViewModel.WeightNumberDebtToEquity + item.StockFitness.AssetsToLiabilitiesFitness * indexViewModel.WeightNumberAssetsToLiabilities;

                detailsDataPoco.WeightNumberRoic                = Convert.ToDouble(indexViewModel.WeightNumberRoic, CultureInfo.InvariantCulture);
                detailsDataPoco.WeightNumberEquity              = Convert.ToDouble(indexViewModel.WeightNumberEquity, CultureInfo.InvariantCulture);
                detailsDataPoco.WeightNumberEPS                 = Convert.ToDouble(indexViewModel.WeightNumberEPS, CultureInfo.InvariantCulture);
                detailsDataPoco.WeightNumberRevenue             = Convert.ToDouble(indexViewModel.WeightNumberRevenue, CultureInfo.InvariantCulture);
                detailsDataPoco.WeightNumberPERatio             = Convert.ToDouble(indexViewModel.WeightNumberPERatio, CultureInfo.InvariantCulture);
                detailsDataPoco.WeightNumberDebtToEquity        = Convert.ToDouble(indexViewModel.WeightNumberDebtToEquity, CultureInfo.InvariantCulture);
                detailsDataPoco.WeightNumberAssetsToLiabilities = Convert.ToDouble(indexViewModel.WeightNumberAssetsToLiabilities, CultureInfo.InvariantCulture);

                detailsDataPoco.SlopeRoic    = item.StockAnalysis.RoicSlopeInfo.NominalTrendline.Slope;
                detailsDataPoco.SlopeEps     = item.StockAnalysis.EPSSlopeInfo.NominalTrendline.Slope;
                detailsDataPoco.SlopeEquity  = item.StockAnalysis.EquitySlopeInfo.NominalTrendline.Slope;
                detailsDataPoco.SlopeRevenue = item.StockAnalysis.RevenueSlopeInfo.NominalTrendline.Slope;

                detailsDataPoco.SlopeEpsGrowth     = item.StockAnalysis.EPSSlopeInfo.GrowthTrendline.Slope;
                detailsDataPoco.SlopeEquityGrowth  = item.StockAnalysis.EquitySlopeInfo.GrowthTrendline.Slope;
                detailsDataPoco.SlopeRevenueGrowth = item.StockAnalysis.RevenueSlopeInfo.GrowthTrendline.Slope;

                detailsDataPoco.MedianRoic    = item.StockAnalysis.RoicSlopeInfo.NominalMedian;
                detailsDataPoco.MedianEps     = item.StockAnalysis.EPSSlopeInfo.NominalMedian;
                detailsDataPoco.MedianRevenue = item.StockAnalysis.RevenueSlopeInfo.NominalMedian;
                detailsDataPoco.MedianEquity  = item.StockAnalysis.EquitySlopeInfo.NominalMedian;

                detailsDataPoco.MedianEquityGrowth  = item.StockAnalysis.EquitySlopeInfo.GrowthMedian;
                detailsDataPoco.MedianEpsGrowth     = item.StockAnalysis.EPSSlopeInfo.GrowthMedian;
                detailsDataPoco.MedianRevenueGrowth = item.StockAnalysis.RevenueSlopeInfo.GrowthMedian;

                detailsDataPoco.DeviationRoic    = item.StockAnalysis.RoicSlopeInfo.NominalDeviation;
                detailsDataPoco.DeviationEps     = item.StockAnalysis.EPSSlopeInfo.NominalDeviation;
                detailsDataPoco.DeviationRevenue = item.StockAnalysis.RevenueSlopeInfo.NominalDeviation;
                detailsDataPoco.DeviationEquity  = item.StockAnalysis.EquitySlopeInfo.NominalDeviation;

                detailsDataPoco.DeviationEquityGrowth  = item.StockAnalysis.EquitySlopeInfo.GrowthDeviation;
                detailsDataPoco.DeviationEpsGrowth     = item.StockAnalysis.EPSSlopeInfo.GrowthDeviation;
                detailsDataPoco.DeviationRevenueGrowth = item.StockAnalysis.RevenueSlopeInfo.GrowthDeviation;


                detailsDataPoco.StarRaking   = item.CompanyDataPoco.Company.StarRaking;
                detailsDataPoco.Outperform   = item.CompanyDataPoco.Company.Outperform;
                detailsDataPoco.Underperform = item.CompanyDataPoco.Company.Underperform;

                detailsDataPoco.Notes = notes;
            }
            return(View(detailsDataPoco));
        }