public async Task <IActionResult> Index(int id)
        {
            var vm       = new BusinessIndexVM();
            var business = await _businessHelper.UpdateGainsSinceLastCheckIn(id);

            business.Owner = await _entrepreneurHelper.UpdateEntrepreneurScore(id);

            vm.Business            = business;
            vm.CurrentEntrepreneur = await GetCurrentEntrepreneur();

            vm.CurrentBusinessInvestments = await _businessHelper.GetInvestmentsCompanyHasMade(id);

            var currentEntrepreneursInvestmentsInBusiness = await _investmentHelper.GetInvestmentsBusinessHasMadeInAnotherBusinessAsync(vm.CurrentEntrepreneur.BusinessId, business.Id);

            vm.HasCurrentEntrepreneurInvestedInBusiness = currentEntrepreneursInvestmentsInBusiness?.Count > 0;
            if (vm.HasCurrentEntrepreneurInvestedInBusiness)
            {
                vm.CurrentEntrepreneurInvestments = currentEntrepreneursInvestmentsInBusiness.ToList();
                foreach (var item in vm.CurrentEntrepreneurInvestments)
                {
                    vm.TotalInvestedAmount += item.Investment.InvestmentAmount;
                    vm.InvestedProfits     += InvestmentHelper.CalculateInvestmentProfit(item);
                }
            }
            vm.CurrentBusinessEspionages = await _businessHelper.GetEspionagesCompanyHasComitted(id);

            vm.EspionagePercentage = CalculateEspionagePercentage(business, vm.CurrentEntrepreneur.Business);
            if (vm.Business == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            return(View(vm));
        }
Exemple #2
0
        public async Task <IActionResult> Index(int id)
        {
            var vm       = new BusinessIndexVM();
            var business = await _businessHelper.UpdateGainsSinceLastCheckIn(id);

            vm.Business            = business;
            vm.CurrentEntrepreneur = await GetCurrentEntrepreneur();

            vm.HasCurrentEntrepreneurInvestedInBusiness = business.Investments.Any(s => s.InvestingBusinessId == vm.CurrentEntrepreneur.Business.Id && s.InvestmentType != InvestmentType.Espionage);
            if (vm.HasCurrentEntrepreneurInvestedInBusiness)
            {
                var investments = business.Investments
                                  .Where(s => s.InvestingBusinessId == vm.CurrentEntrepreneur.Business.Id)
                                  .Where(s => s.InvestmentType == InvestmentType.Investment)
                                  .ToList();
                vm.Investments = investments;
                foreach (var item in investments)
                {
                    vm.TotalInvestedAmount += item.InvestmentAmount;
                    vm.InvestedProfits     += InvestmentHelper.CalculateInvestmentProfit(item);
                }
            }
            if (vm.Business == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            return(View(vm));
        }