예제 #1
0
        //
        // GET+POST: /Backend/EditCategory?id={id}
        public ActionResult EditCategory()
        {
            if (Request.Params.AllKeys.Contains("id"))
            {

                long id = 0;
                try
                {
                    id = long.Parse(Request.Params["id"]);
                }
                catch { }

                category c = this._app.categories().getById(id);

                if (c != null)
                {
                    Form_Category_Add form = new Form_Category_Add(0);
                    if (Request.HttpMethod.ToLower() == form.getMethod().ToString())
                    {
                        if (form.isValid(Request.Form))
                        {
                            if (this._app.categories().save(form, c))
                            {
                                _messages.addMessage("The category has been successfully saved");
                                if (c.parentid.HasValue)
                                {
                                    return Redirect("/backend/ListCategories?parent=" + c.parentid);
                                }
                                return Redirect("/backend/ListCategories?parent=" + c.id);
                            }
                        }
                    }

                    form.setEditData(c);

                    ViewData["form"] = form.render();

                    return View();
                }
            }
            _messages.addError("Undefined or wrong parameter ID");
            return RedirectToAction("listCategories", "backend");
        }