Пример #1
0
        public ActionResult Page(string Id, string message)
        {
            Page _page;

            if (string.IsNullOrEmpty(Id))//new
            {
                _page = new Page();

                ViewBag.IsIndex = false;
            }
            else
            {
                int pageID = Convert.ToInt32(Id);

                SqlRepository repository = new SqlRepository();

                _page = repository.GetPage(pageID);

                ViewBag.Message = message;
            }

            if (string.Compare(_page.Address, "Index", true) == 0)
            {
                return(RedirectToAction("IndexEdit", "Administration")); //Admin/IndexEdit
            }
            else
            {
                PageEditVM _VM = new PageEditVM(_page);

                return(View("PageEdit", _VM));
            }
        }
Пример #2
0
        public ActionResult Page(string Id, PageEditVM model)
        {
            AmendPageVM(model);

            if (ModelState.IsValid &&
                !string.IsNullOrEmpty(model.Page.Title) &&
                !string.IsNullOrEmpty(model.Page.Address))
            {
                if (!(string.Compare(model.Page.Address, "Index", true) == 0
                      ^ model.Page.ParentId == 0))
                {
                    if (string.IsNullOrEmpty(Id))//new
                    {
                        SqlRepository repository = new SqlRepository();
                        int           newPageId  = repository.CreatePage(model.Page);

                        if (newPageId != 0)
                        {
                            return(RedirectToAction("Page", "Administration", new { Id = newPageId, Message = "Страница создана" }));
                        }
                        else
                        {
                            ModelState.AddModelError("", "Ошибка. Возможно, адрес страницы не уникальный");
                        }
                    }

                    else // modifying existing page
                    {
                        SqlRepository repository = new SqlRepository();
                        bool          result     = repository.UpdatePage(model.Page);

                        if (result)
                        {
                            ViewBag.Message = "Изменения успешно сохранены";
                        }
                        else
                        {
                            ModelState.AddModelError("", "Ошибка. Возможно, адрес страницы не уникальный");
                        }
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Может быть только одна страница с адресом 'Index'");
                }
            }

            else
            {
                ModelState.AddModelError("", "Изменения не сохранены");
            }

            return(View("PageEdit", model));
        }
Пример #3
0
        void AmendPageVM(PageEditVM model)
        {
            if (!string.IsNullOrEmpty(model.Page.Title))
            {
                model.Page.Title.Trim();
            }
            if (!string.IsNullOrEmpty(model.Page.Description))
            {
                model.Page.Description.Trim();
            }
            if (!string.IsNullOrEmpty(model.Page.Keywords))
            {
                model.Page.Keywords.Trim();
            }
            if (!string.IsNullOrEmpty(model.Page.Address))
            {
                model.Page.Address.Trim();
            }

            //model.Page.Address = Regex.Replace(model.Page.Address, @"[^A-Za-z0-9$]", "", RegexOptions.ECMAScript);
        }