コード例 #1
0
        // GET: Schedule/Edit/5
        public ActionResult Edit(int id)
        {
            var data = db.Get(id);

            if (new SqlDataServices <Category>().Get(data.CategoryID).Type == Data.Enums.CategoryType.Expense)
            {
                data.Amount *= -1;
            }
            var model = new Schedule(data);

            var accounts = new SqlDataServices <Data.Models.Accounts>().GetAll().Where(e => e.Active).OrderBy(e => e.Name).ToList();
            var category = new SqlDataServices <Data.Models.Category>().GetAll().OrderBy(e => e.Type).ThenBy(e => e.Name);
            var payee    = new SqlDataServices <Data.Models.Payee>().GetAll().OrderBy(e => e.Name);

            ViewBag.AccountsSelected = accounts.FirstOrDefault(e => e.ID == model.AccountsID);
            if (ViewBag.AccountsSelected == null)
            {
                ViewBag.AccountsSelected = new SqlDataServices <Data.Models.Accounts>().Get(model.AccountsID);
                accounts.Add(ViewBag.AccountsSelected);
            }
            ViewBag.CategorySelected = category.First(e => e.ID == model.CategoryID);
            ViewBag.PayeeSelected    = payee.First(e => e.ID == model.PayeeID);
            ViewBag.Accounts         = accounts;
            ViewBag.Category         = category;
            ViewBag.Payee            = payee;
            return(View(model));
        }
コード例 #2
0
        public ActionResult Edit(int id, Schedule data)
        {
            if (data.Amount == 0)
            {
                ModelState.AddModelError(nameof(data.Amount), $"Amount can't be zero");
            }
            if (!ModelState.IsValid)
            {
                var accounts = new SqlDataServices <Data.Models.Accounts>().GetAll().Where(e => e.Active).OrderBy(e => e.Name).ToList();
                if (!accounts.Exists(e => e.ID == data.AccountsID))
                {
                    accounts.Add(new SqlDataServices <Data.Models.Accounts>().Get(data.AccountsID));
                }
                ViewBag.Accounts = accounts;
                ViewBag.Category = new SqlDataServices <Data.Models.Category>().GetAll().OrderBy(e => e.Type).ThenBy(e => e.Name);
                ViewBag.Payee    = new SqlDataServices <Data.Models.Payee>().GetAll().OrderBy(e => e.Name);
                return(View(data));
            }
            try
            {
                // TODO: Add update logic here
                if (new SqlDataServices <Category>().Get(data.CategoryID).Type == Data.Enums.CategoryType.Expense)
                {
                    data.Amount *= -1;
                }

                db.Edit(id, data.ReverseMapper());
                return(RedirectToAction("Index"));
            }
            catch
            {
                ViewBag.Message = "An Error occoured yor entry coudn't be updated";
                return(View());
            }
        }