Esempio n. 1
0
        public ActionResult DeleteConfirmed(int id)
        {
            UploadedTransaction uploadedTransaction = db.UploadedTransactions.Find(id);

            db.UploadedTransactions.Remove(uploadedTransaction);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Esempio n. 2
0
 public ActionResult Edit([Bind(Include = "Id,Description,Amount,Created,Saved,UploadDateTime,BankAccountId,IncomeExpenseId")] UploadedTransaction uploadedTransaction)
 {
     if (ModelState.IsValid)
     {
         db.Entry(uploadedTransaction).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.BankAccountId   = new SelectList(db.BankAccounts, "Id", "Name", uploadedTransaction.BankAccountId);
     ViewBag.IncomeExpenseId = new SelectList(db.IncomeExpenses, "Id", "Type", uploadedTransaction.IncomeExpenseId);
     return(View(uploadedTransaction));
 }
Esempio n. 3
0
        // GET: UploadedTransactions/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            UploadedTransaction uploadedTransaction = db.UploadedTransactions.Find(id);

            if (uploadedTransaction == null)
            {
                return(HttpNotFound());
            }
            return(View(uploadedTransaction));
        }
Esempio n. 4
0
        // GET: UploadedTransactions/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            UploadedTransaction uploadedTransaction = db.UploadedTransactions.Find(id);

            if (uploadedTransaction == null)
            {
                return(HttpNotFound());
            }
            ViewBag.BankAccountId   = new SelectList(db.BankAccounts, "Id", "Name", uploadedTransaction.BankAccountId);
            ViewBag.IncomeExpenseId = new SelectList(db.IncomeExpenses, "Id", "Type", uploadedTransaction.IncomeExpenseId);
            return(View(uploadedTransaction));
        }
Esempio n. 5
0
        public ActionResult UploadTransactions(HttpPostedFileBase uploadedFile, int BankAccountId)
        {
            var filePath = csvHelper.UploadCsv(uploadedFile);

            if (filePath == "")
            {
                return(View("Error", "Shared"));
            }
            var csvFile = csvHelper.ReadCsv(filePath);
            //var csvFile = csvHelper.ReadNotSaveCsv(uploadedFile);
            var nowDateTime = DateTimeOffset.Now;

            TempData["NowDateTime"] = nowDateTime;
            var expId = db.IncomeExpenses.FirstOrDefault(ie => ie.Type == "Expense").Id;
            var incId = db.IncomeExpenses.FirstOrDefault(ie => ie.Type == "Income").Id;
            UploadedTransaction upTran;

            foreach (var line in csvFile)
            {
                var alreadySaved = db.UploadedTransactions.AsNoTracking().FirstOrDefault(up => up.Created == line.Date && up.Description == line.Description && up.Amount == line.Amount);
                if (alreadySaved == null)
                {
                    upTran                = new UploadedTransaction();
                    upTran.Amount         = line.Amount;
                    upTran.Description    = line.Description;
                    upTran.Created        = line.Date;
                    upTran.BankAccountId  = BankAccountId;
                    upTran.UploadDateTime = nowDateTime;
                    upTran.Saved          = false;
                    if (upTran.Amount < 0)
                    {
                        upTran.IncomeExpenseId = expId;
                    }
                    else
                    {
                        upTran.IncomeExpenseId = incId;
                    }
                    db.UploadedTransactions.Add(upTran);

                    db.SaveChanges();
                }
            }
            TempData["CsvData"] = csvFile.OrderByDescending(x => x.Date).ToList();
            csvHelper.DeleteCsv(filePath);

            //User and household validation stuff
            //Populate Viewbag data

            if (!userHelper.UserHasEverything())
            {
                TempData["Error"] = "You must have a household, budget, and bank account(s) first!";
                return(RedirectToAction("ErrorPage", "Home"));
            }
            var user      = db.Users.Find(User.Identity.GetUserId());
            var budget    = new Budget();
            var ExpenseId = db.IncomeExpenses.FirstOrDefault(i => i.Type == "Expense").Id;

            if (user != null && user.HouseholdId != null)
            {
                ViewBag.hId           = user.HouseholdId;
                budget                = db.Budgets.FirstOrDefault(b => b.HouseholdId == user.HouseholdId);
                ViewBag.BankAccountId = new SelectList(db.BankAccounts.Where(a => a.HouseholdId == user.HouseholdId).ToList(), "Id", "Name");
                if (budget != null)
                {
                    var budgetItemList = budget.BudgetItems.ToList();
                    var item           = budgetItemList[0];
                    ViewBag.BudgetItemList = new SelectList(budgetItemList, "Id", "Name");
                }
            }
            ViewBag.BankAccountId         = new SelectList(db.BankAccounts, "Id", "Name", BankAccountId);
            ViewBag.SelectedBankAccountId = BankAccountId;
            ViewBag.BankAccountName       = db.BankAccounts.FirstOrDefault(ba => ba.Id == BankAccountId).Name;
            ViewBag.IncomeExpenseId       = new SelectList(db.IncomeExpenses, "Id", "Type", ExpenseId);
            //return RedirectToAction("ReadCSV", new { CsvFile = filePath });
            var transList = db.UploadedTransactions.Where(t => !t.Saved).OrderByDescending(x => x.Created).ToList();

            return(View(transList));
        }