public async Task <ActionResult> Edit(InvestmentDetail investmentDetail)
        {
            if (ModelState.IsValid)
            {
                var isRecurring = db.SubCategories.Where(x => x.SubCategoryId == investmentDetail.SubCategoryId).FirstOrDefault();
                if (isRecurring.StartDate != null && isRecurring.EndDate != null)
                {
                    var yearsDiff = DateTime.Today.Year - isRecurring.StartDate.Value.Year;
                    if (yearsDiff == 0)
                    {
                        investmentDetail.MonthsPassed = DateTime.Today.Month - isRecurring.StartDate.Value.Month;
                    }
                    else
                    {
                        investmentDetail.MonthsPassed = (yearsDiff * 12) + (DateTime.Today.Month - isRecurring.StartDate.Value.Month);
                    }
                }
                else if (isRecurring.Frequency == Utility.Enumerations.Frequency.Once)
                {
                    investmentDetail.MonthsPassed = 1;
                }
                investmentDetail.AmountAccumulated = isRecurring.ExpectedAmount * investmentDetail.MonthsPassed;
                db.Entry(investmentDetail).State   = EntityState.Modified;
                await db.SaveChangesAsync();

                return(Redirect(Request.UrlReferrer.PathAndQuery));
                //return RedirectToAction("Edit", "MonthlyPlanner", new { planId = investmentDetail.planId });
            }
            return(RedirectToAction("ListIndex", "MonthlyPlanner"));
        }
        public async Task <ActionResult> Create([Bind(Include = "InvestmentId,ActualAmount,SubCategoryId,DebitDate,ForMonth,FinancialYear")] InvestmentDetail investmentDetail)
        {
            if (ModelState.IsValid)
            {
                var isRecurring = db.SubCategories.Where(x => x.SubCategoryId == investmentDetail.SubCategoryId).FirstOrDefault();
                if (isRecurring.StartDate != null && isRecurring.EndDate != null)
                {
                    var yearsDiff = DateTime.Today.Year - isRecurring.StartDate.Value.Year;
                    if (yearsDiff == 0)
                    {
                        investmentDetail.MonthsPassed = DateTime.Today.Month - isRecurring.StartDate.Value.Month;
                    }
                    else
                    {
                        investmentDetail.MonthsPassed = (yearsDiff * 12) + (DateTime.Today.Month - isRecurring.StartDate.Value.Month);
                    }
                }
                else if (isRecurring.Frequency == Utility.Enumerations.Frequency.Once)
                {
                    investmentDetail.MonthsPassed = 1;
                }
                investmentDetail.AmountAccumulated = isRecurring.ExpectedAmount * investmentDetail.MonthsPassed;
                db.InvestmentDetails.Add(investmentDetail);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(investmentDetail));
        }
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            InvestmentDetail investmentDetail = await db.InvestmentDetails.FindAsync(id);

            db.InvestmentDetails.Remove(investmentDetail);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Ejemplo n.º 4
0
    protected void Button1_Click(object sender, EventArgs e)
    {
        InvestmentDetail app = new InvestmentDetail();

        app.addInvestment(int.Parse(investment_required.Text), int.Parse(cash_required.Text), int.Parse(royalty.Text), training_assist.Text, int.Parse(franchiseid.Text), int.Parse(uid.Text));
        msg.Visible   = true;
        msg.Text      = "Investment Detail added Submitted successfully";
        msg.ForeColor = Color.Green;
    }
        // GET: InvestmentDetails/Details/5
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            InvestmentDetail investmentDetail = await db.InvestmentDetails.FindAsync(id);

            if (investmentDetail == null)
            {
                return(HttpNotFound());
            }
            return(View(investmentDetail));
        }
Ejemplo n.º 6
0
    protected void Button1_Click(object sender, EventArgs e)
    {
        try
        {
            InvestmentDetail editinvestment = new InvestmentDetail();
            int id = Convert.ToInt16(Request.QueryString["id"]);
            editinvestment.editInvestment(int.Parse(investment_required.Text), int.Parse(cash_required.Text), int.Parse(royalty.Text), training_assist.Text, id);
            msg.Visible   = true;
            msg.Text      = "Franchise Updated successfully";
            msg.ForeColor = Color.Green;
        }

        catch (Exception ex)
        {
            ltrmsg.Text = ex.Message;
        }
    }
Ejemplo n.º 7
0
    protected void btnDelete_Click(object sender, EventArgs e)
    {
        if (Request.QueryString["id"] != null)
        {
            string         data = "select * from investment_details where fid='" + Request.QueryString["id"] + "'";
            SqlDataAdapter da   = new SqlDataAdapter(data, db.con);
            DataSet        ds   = new DataSet();
            da.Fill(ds, "application");
            DataTable dt = ds.Tables[0];
            DataRow   dr = dt.Rows[0];
            aid.Text = dr["id"].ToString();
        }
        InvestmentDetail app = new InvestmentDetail();

        app.deleteInvestment(Convert.ToInt32(aid.Text));
        msg.Visible   = true;
        msg.Text      = "Data deleted";
        msg.ForeColor = Color.Green;
    }
        // GET: InvestmentDetails/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            InvestmentDetail investmentDetail = await db.InvestmentDetails.FindAsync(id);

            var items = db.SubCategories.Where(x => x.ParentCategoryId == 3).ToList();

            if (items != null)
            {
                ViewBag.SubCategories = items;
            }
            if (investmentDetail == null)
            {
                return(HttpNotFound());
            }
            return(View(investmentDetail));
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Retrieve a security account for editing
        /// </summary>
        public void Detail(int id)
        {
            InvestmentDetail record = Database.QueryOne <InvestmentDetail>("Account.*, AcctType, SUM(Amount) AS CashBalance",
                                                                           "WHERE idAccount = " + id,
                                                                           "Account", "Journal");

            record.CurrentBalance = record.CashBalance - Database.QueryOne("SELECT SUM(Amount) AS Future FROM Journal JOIN Document ON idDocument = DocumentId WHERE AccountId = "
                                                                           + id + " AND DocumentDate > " + Database.Quote(Utils.Today)).AsDecimal("Future");
            record.Value = Database.QueryOne("SELECT Value FROM (" + AccountValue(Database, Utils.Today) + ") AS V WHERE ParentAccountid = " + id).AsDecimal("Value");
            if (record.Id == null)
            {
                record.AccountTypeId = (int)AcctType.Investment;
            }
            else
            {
                checkAcctType(record.AccountTypeId, AcctType.Investment);
                Title += " - " + record.AccountName;
            }
            Record = record;
        }
        public InvestmentDetail2 GetInvestmentDetail(int investmentId)
        {
            InvestmentDetail investmentDetail = db.InvestmentDetails.Where(x => x.InvestmentId == investmentId).FirstOrDefault();

            if (investmentDetail == null)
            {
                throw new HttpResponseException(HttpStatusCode.NotFound);
            }

            InvestmentDetail2 returnDetail = new InvestmentDetail2();

            returnDetail.Id                = investmentDetail.Id;
            returnDetail.InvestmentId      = investmentDetail.InvestmentId;
            returnDetail.CostBasisPerShare = investmentDetail.CostBasisPerShare;
            returnDetail.CurrentPrice      = investmentDetail.CurrentPrice;
            returnDetail.Shares            = investmentDetail.Shares;
            returnDetail.PurchaseDate      = investmentDetail.PurchaseDate;
            returnDetail.CurrentValue      = InvestmentHelper.GetCurrentValue(returnDetail.Shares, returnDetail.CurrentPrice);
            returnDetail.Term              = InvestmentHelper.GetTerm(returnDetail.PurchaseDate);
            returnDetail.NetGainLoss       = InvestmentHelper.GetNetGainLoss(returnDetail.CurrentValue, returnDetail.Shares, returnDetail.CostBasisPerShare);

            return(returnDetail);
        }
 public ProfileController(UserLevel clubConnect, QuickVotes voteConnect, InvestmentDetail investConnect)
 {
     _clubConnect      = clubConnect;
     _voteConnect      = voteConnect;
     _investmentDetail = investConnect;
 }
Ejemplo n.º 12
0
        public static void Initialize(IServiceProvider service)
        {
            using (var context = new InvestmentContext(
                       service.GetRequiredService <DbContextOptions <InvestmentContext> >()))
            {
                Random rand = new Random();

                var inv1 = new Investment()
                {
                    Id             = 1,
                    UserId         = 100,
                    Name           = "APPL",
                    TimeOfPurchase = DateTime.Now
                };

                var inv2 = new Investment()
                {
                    Id             = 2,
                    UserId         = 100,
                    Name           = "TSLA",
                    TimeOfPurchase = DateTime.Now
                };

                var inv3 = new Investment()
                {
                    Id             = 3,
                    UserId         = 100,
                    Name           = "NKE",
                    TimeOfPurchase = DateTime.Now
                };

                var inv1Detail = new InvestmentDetail()
                {
                    SystemId          = 100,
                    InvestmentId      = 1,
                    Shares            = rand.Next(1, 20),
                    CostBasisPerShare = Math.Round(rand.NextDouble() * 500, 2),
                    CurrentPrice      = 0,
                    CurrentValue      = 0,
                    Term         = 0,
                    NetValuation = 0
                };

                var inv2Detail = new InvestmentDetail()
                {
                    SystemId          = 101,
                    InvestmentId      = 2,
                    Shares            = rand.Next(1, 20),
                    CostBasisPerShare = Math.Round(rand.NextDouble() * 500, 2),
                    CurrentPrice      = 0,
                    CurrentValue      = 0,
                    Term         = 0,
                    NetValuation = 0
                };

                var inv3Detail = new InvestmentDetail()
                {
                    SystemId          = 102,
                    InvestmentId      = 3,
                    Shares            = rand.Next(1, 20),
                    CostBasisPerShare = Math.Round(rand.NextDouble() * 500, 2),
                    CurrentPrice      = 0,
                    CurrentValue      = 0,
                    Term         = 1,
                    NetValuation = 0
                };

                inv1Detail.CurrentPrice = InvestmentCalculator.GeneratePrice(inv1Detail.CostBasisPerShare);
                inv1Detail.CurrentValue = InvestmentCalculator.DetermineValue(inv1Detail.Shares, inv1Detail.CurrentPrice);
                inv1Detail.NetValuation = InvestmentCalculator.DetermineNetValuation(inv1Detail.CurrentValue,
                                                                                     inv1Detail.Shares,
                                                                                     inv1Detail.CostBasisPerShare);

                inv2Detail.CurrentPrice = InvestmentCalculator.GeneratePrice(inv2Detail.CostBasisPerShare);
                inv2Detail.CurrentValue = InvestmentCalculator.DetermineValue(inv2Detail.Shares, inv2Detail.CurrentPrice);
                inv2Detail.NetValuation = InvestmentCalculator.DetermineNetValuation(inv2Detail.CurrentValue,
                                                                                     inv2Detail.Shares,
                                                                                     inv2Detail.CostBasisPerShare);

                inv3Detail.CurrentPrice = InvestmentCalculator.GeneratePrice(inv3Detail.CostBasisPerShare);
                inv3Detail.CurrentValue = InvestmentCalculator.DetermineValue(inv3Detail.Shares, inv3Detail.CurrentPrice);
                inv3Detail.NetValuation = InvestmentCalculator.DetermineNetValuation(inv3Detail.CurrentValue,
                                                                                     inv3Detail.Shares,
                                                                                     inv3Detail.CostBasisPerShare);

                context.Investments.Add(inv1);
                context.Investments.Add(inv2);
                context.Investments.Add(inv3);
                context.InvestmentDetails.Add(inv1Detail);
                context.InvestmentDetails.Add(inv2Detail);
                context.InvestmentDetails.Add(inv3Detail);
                context.SaveChanges();
            }
        }
Ejemplo n.º 13
0
        public ActionResult Create(MonthlyPlannerViewModel model)
        {
            ViewBag.Years = new SelectList(Enumerable.Range(DateTime.Today.Year, 20).Select(x =>
                                                                                            new SelectListItem()
            {
                Text  = x.ToString() + "-" + (x + 1).ToString(),
                Value = x.ToString() + "-" + (x + 1).ToString()
            }), "Value", "Text");
            var plans = db.MonthlyPlans.ToList();

            if (plans.Any(x => x.ForMonth == model.ForMonth && x.FinancialYear == model.FinancialYear))
            {
                ViewBag.Message = "Plan for this month already exists.";
                return(View());
            }

            var items = db.SubCategories.Where(x => x.ParentCategoryId == 1).ToList();

            if (items != null)
            {
                ViewBag.SubCategories = items;
            }


            //generate default Income list
            var _defaultIncome = db.SubCategories.Where(x => x.ParentCategoryId == 1 && x.IsDefault == true).ToList();
            var _incomeList    = new List <IncomeDetail>();

            foreach (var item in _defaultIncome)
            {
                var _addIncome = new IncomeDetail();
                _addIncome.SubCategoryId   = item.SubCategoryId;
                _addIncome.ActualAmount    = 0;
                _addIncome.CreditDate      = DateTime.Now;
                _addIncome.FinancialYear   = model.FinancialYear;
                _addIncome.ForMonth        = model.ForMonth;
                _addIncome.SubCategoryName = item.Name;
                db.IncomeDetails.Add(_addIncome);
                _incomeList.Add(_addIncome);
            }
            model.IncomeDetails = _incomeList;

            //generate default expenses
            var _defaultExpenses = db.SubCategories.Where(x => x.ParentCategoryId == 2 && x.IsDefault == true).ToList();
            var _expenseList     = new List <ExpenseDetail>();

            foreach (var item in _defaultExpenses)
            {
                var _addExpense = new ExpenseDetail();
                _addExpense.SubCategoryId   = item.SubCategoryId;
                _addExpense.ActualAmount    = 0;
                _addExpense.DebitDate       = DateTime.Now;
                _addExpense.FinancialYear   = model.FinancialYear;
                _addExpense.ForMonth        = model.ForMonth;
                _addExpense.SubCategoryName = item.Name;
                db.ExpenseDetails.Add(_addExpense);
                _expenseList.Add(_addExpense);
            }
            model.ExpenseDetails = _expenseList;

            //default savings
            var _defaultSavings = db.SubCategories.Where(x => x.ParentCategoryId == 3 && x.IsDefault == true).ToList();
            var _savingsList    = new List <SavingsDetail>();

            foreach (var item in _defaultSavings)
            {
                var _addSavings = new SavingsDetail();
                _addSavings.SubCategoryId   = item.SubCategoryId;
                _addSavings.ActualAmount    = 0;
                _addSavings.Date            = DateTime.Now;
                _addSavings.FinancialYear   = model.FinancialYear;
                _addSavings.ForMonth        = model.ForMonth;
                _addSavings.SubCategoryName = item.Name;
                db.SavingsDetails.Add(_addSavings);
                _savingsList.Add(_addSavings);
            }
            model.SavingsDetails = _savingsList;

            //default Investment
            var _defaultInvestments = db.SubCategories.Where(x => x.ParentCategoryId == 4 && x.IsDefault == true).ToList();
            var _investList         = new List <InvestmentDetail>();

            foreach (var item in _defaultInvestments)
            {
                var _addInvestments = new InvestmentDetail();
                _addInvestments.SubCategoryId   = item.SubCategoryId;
                _addInvestments.ActualAmount    = 0;
                _addInvestments.DebitDate       = DateTime.Now;
                _addInvestments.FinancialYear   = model.FinancialYear;
                _addInvestments.ForMonth        = model.ForMonth;
                _addInvestments.SubCategoryName = item.Name;
                db.InvestmentDetails.Add(_addInvestments);
                _investList.Add(_addInvestments);
            }
            model.InvestmentDetails = _investList;

            db.SaveChanges();

            var newPlan = new MonthlyPlan();

            newPlan.ForMonth      = model.ForMonth;
            newPlan.FinancialYear = model.FinancialYear;
            newPlan.CreatedOn     = DateTime.Now;
            db.MonthlyPlans.Add(newPlan);
            db.SaveChanges();

            //generate view
            var categories = db.Categories.Join(db.SubCategories, x => x.CategoryId, y => y.ParentCategoryId,
                                                (x, y) => new { x, y }).Select(y => new MonthlyPlannerViewModel
            {
                CategoryId      = y.y.ParentCategoryId,
                CategoryName    = y.x.CategoryName,
                SubCategoryId   = y.y.SubCategoryId,
                ExpectedAmount  = y.y.ExpectedAmount,
                SubCategoryName = y.y.Name
            }).ToList();

            var _incomeData = model.IncomeDetails.Join(categories, x => x.SubCategoryId, y => y.SubCategoryId, (x, y) => new { x, y }).Select
                                  (y => new MonthlyPlannerViewModel
            {
                IncomeId        = y.x.IncomeId,
                CategoryId      = y.y.CategoryId,
                CategoryName    = y.y.CategoryName,
                SubCategoryId   = y.y.SubCategoryId,
                SubCategoryName = y.y.SubCategoryName,
                ActualAmount    = y.x.ActualAmount,
                CreditDate      = y.x.CreditDate,
                FinancialYear   = y.x.FinancialYear,
                ForMonth        = y.x.ForMonth,
                ExpectedAmount  = y.y.ExpectedAmount
            }).ToList();
            var _expenseData = model.ExpenseDetails.Join(categories, x => x.SubCategoryId, y => y.SubCategoryId, (x, y) => new { x, y }).Select
                                   (y => new MonthlyPlannerViewModel
            {
                ExpenseId       = y.x.ExpenseId,
                CategoryId      = y.y.CategoryId,
                CategoryName    = y.y.CategoryName,
                SubCategoryId   = y.y.SubCategoryId,
                SubCategoryName = y.y.SubCategoryName,
                ActualAmount    = y.x.ActualAmount,
                DebitDate       = y.x.DebitDate,
                FinancialYear   = y.x.FinancialYear,
                ForMonth        = y.x.ForMonth,
                ExpectedAmount  = y.y.ExpectedAmount
            }).ToList();
            var _savingsData = model.SavingsDetails.Join(categories, x => x.SubCategoryId, y => y.SubCategoryId, (x, y) => new { x, y }).Select
                                   (y => new MonthlyPlannerViewModel
            {
                SavingsId       = y.x.SavingsId,
                CategoryId      = y.y.CategoryId,
                CategoryName    = y.y.CategoryName,
                SubCategoryId   = y.y.SubCategoryId,
                SubCategoryName = y.y.SubCategoryName,
                ActualAmount    = y.x.ActualAmount,
                DebitDate       = y.x.Date,
                FinancialYear   = y.x.FinancialYear,
                ForMonth        = y.x.ForMonth,
                ExpectedAmount  = y.y.ExpectedAmount
            }).ToList();
            var _investmentData = model.InvestmentDetails.Join(categories, x => x.SubCategoryId, y => y.SubCategoryId, (x, y) => new { x, y }).Select
                                      (y => new MonthlyPlannerViewModel
            {
                InvestmentId    = y.x.InvestmentId,
                CategoryId      = y.y.CategoryId,
                CategoryName    = y.y.CategoryName,
                SubCategoryId   = y.y.SubCategoryId,
                SubCategoryName = y.y.SubCategoryName,
                ActualAmount    = y.x.ActualAmount,
                DebitDate       = y.x.DebitDate,
                FinancialYear   = y.x.FinancialYear,
                ForMonth        = y.x.ForMonth,
                ExpectedAmount  = y.y.ExpectedAmount
            }).ToList();

            model._MonthlyList = _incomeData;
            model._MonthlyList.AddRange(_expenseData);
            model._MonthlyList.AddRange(_savingsData);
            model._MonthlyList.AddRange(_investmentData);

            return(View("ViewPlanner", model));
        }
 public ClubController(BaseClubLevel clubBaseConnect, InvestmentDetail invDetailConnect)
 {
     _clubBaseConnect  = clubBaseConnect;
     _invDetailConnect = invDetailConnect;
 }