public async Task <ActionResult> OneTimeInvestment(FundPurchased fund)
        {
            MutualFundService service = new MutualFundService();
            await service.Add(fund);

            return(RedirectToAction("Index", "Home"));
        }
        public FundInfo Calculate(decimal currentNavPrice, FundPurchased fund)
        {
            FundInfo fundInfo = new FundInfo
            {
                Name       = fund.Name,
                SchemeCode = fund.SchemeCode
            };
            decimal investedAmount = 0, navsPurchased = 0, currentValue = 0, profitLoss = 0;

            if (fund.NavsPurchased.HasValue)
            {
                navsPurchased  = fund.NavsPurchased.Value;
                investedAmount = navsPurchased * fund.NavPurchasePrice;
            }
            else if (fund.AmountInvested.HasValue)
            {
                investedAmount = fund.AmountInvested.Value;
                navsPurchased  = investedAmount / fund.NavPurchasePrice;
            }
            currentValue = currentNavPrice * navsPurchased;
            profitLoss   = currentValue - investedAmount;

            fundInfo.AmountInvested   = Round(investedAmount);
            fundInfo.CurrentValue     = Round(currentValue);
            fundInfo.NavCurrentPrice  = Round(currentNavPrice);
            fundInfo.NavPurchasePrice = Round(fund.NavPurchasePrice);
            fundInfo.NavsPurchased    = Round(navsPurchased);
            fundInfo.Percentage       = Round((profitLoss / investedAmount) * 100);
            fundInfo.ProfitValue      = Round(profitLoss);
            fundInfo.PurchaseDate     = fund.PurchaseDate;
            return(fundInfo);
        }
        public ActionResult OneTimeInvestment(string schemecode, string schemename)
        {
            FundPurchased fund = new FundPurchased
            {
                Name       = schemename,
                SchemeCode = schemecode
            };

            return(View(fund));
        }
Esempio n. 4
0
        public async Task Add(FundPurchased fund)
        {
            using (var context = new InvestmentTrackerDbContext())
            {
                MutualFundProxy proxy = new MutualFundProxy();
                fund.NavPurchasePrice = await proxy.GetPrice(fund.SchemeCode, fund.PurchaseDate);

                context.FundPurchased.Add(fund);
                context.SaveChanges();
            }
        }