Example #1
0
 public TransactionItem(Transaction tran)
 {
     Amount = tran.Amount;
     Description = tran.Description;
     CreatedDate = tran.CreatedDate;
     IsStartAmount = tran.StartTransaction;
 }
        public ActionResult Create(Transaction transaction)
        {
            if (ModelState.IsValid)
            {
                transaction.AccountID = 1;
                db.Transactions.Add(transaction);
                db.SaveChanges();
                return RedirectToAction("Index");
            }

            return View(transaction);
        }
Example #3
0
        public JsonResult AddTransaction(Transaction transaction)
        {
            if (transaction.ID == 0)
            {
                db.Transactions.Add(transaction);
            }
            else
            {
                db.Entry(transaction).State = EntityState.Modified;
            }
                db.SaveChanges();

                return Json(transaction);
        }
        public ViewResult Add(int id)
        {
            Recurring recur = db.Recurrings.Find(id);
            if (recur != null)
            {
                Transaction tran = new Transaction();
                int daydiff = recur.StartDate.Day - DateTime.Now.Day;
                tran.CreatedDate = DateTime.Now.AddDays(daydiff);
                tran.Description = recur.Description;
                tran.Amount = recur.Amount;
                return View("Create", tran);
            }

            return View("Create");
        }
        public void AddRecurringItemsToTransaction()
        {
            List<int> ids = (from a in db.Users
                                 orderby a.AccountID
                                 select a.AccountID).Distinct().ToList();

                foreach (var accountId in ids)
                {
                    List<Recurring> allRecurring = db.Recurrings.Where(r => r.AccountID == accountId).ToList();
                    if (allRecurring != null)
                    {
                        int daysbetweenrecuring = 14;

                        foreach (var r in allRecurring)
                        {
                            if (r.RecurWeekly)
                                daysbetweenrecuring = 7;

                            Transaction startTransaction = db.Transactions.Where(t => t.StartTransaction).FirstOrDefault();

                            DateTime maxDate = DateTime.Now;
                            DateTime now = r.StartDate.Date;
                            while (now <= maxDate)
                            {
                                if (r.RecurMontly)
                                {
                                    DateTime recurDate = DateTime.Parse(String.Format("{0}/{1}/{2}", now.Month, r.StartDate.Day, now.Year));
                                    if (now.Date == recurDate)
                                    {
                                        List<Transaction> transactions = db.Transactions.Where(x => x.CreatedDate == now && x.Description == r.Description).ToList();
                                        if (transactions == null || transactions.Count == 0)
                                        {
                                            Transaction tran = new Transaction();
                                            tran.Amount = r.Amount;
                                            tran.CreatedDate = recurDate;
                                            tran.Description = r.Description;
                                            tran.AccountID = accountId;
                                            db.Transactions.Add(tran);

                                            db.SaveChanges();
                                        }
                                    }
                                    now = now.AddMonths(1);
                                }
                                else
                                {

                                    List<Transaction> transactions = db.Transactions.Where(x => x.CreatedDate == now && x.Description == r.Description).ToList();
                                    if (transactions == null || transactions.Count == 0)
                                    {
                                        Transaction tran = new Transaction();
                                        tran.Amount = r.Amount;
                                        tran.CreatedDate = now.Date;
                                        tran.Description = r.Description;
                                        tran.AccountID = accountId;
                                        db.Transactions.Add(tran);

                                        db.SaveChanges();
                                    }

                                    now = now.AddDays(daysbetweenrecuring);
                                }

                            }

                        }
                    }

            }
        }
 public ActionResult Edit(Transaction transaction)
 {
     if (ModelState.IsValid)
     {
         transaction.AccountID = 1;
         db.Entry(transaction).State = EntityState.Modified;
         db.SaveChanges();
         return RedirectToAction("Index");
     }
     return View(transaction);
 }