/// <summary> /// Manage Site Setting /// </summary> /// <param name="operation">the operation</param> /// <param name="model">the setting model</param> /// <returns></returns> public ResponseModel ManagePage(GridOperationEnums operation, PageModel model) { ResponseModel response; Page page; Mapper.CreateMap<PageModel, Page>(); switch (operation) { case GridOperationEnums.Edit: page = GetById(model.Id); page.Title = model.Title; page.Status = model.Status; page.FriendlyUrl = string.IsNullOrWhiteSpace(model.FriendlyUrl) ? model.Title.ToUrlString() : model.FriendlyUrl.ToUrlString(); page.ParentId = model.ParentName.ToNullableInt(); response = HierarchyUpdate(page); _clientMenuServices.SavePageToClientMenu(page.Id); return response.SetMessage(response.Success ? _localizedResourceServices.T("AdminModule:::Pages:::Messages:::UpdateSuccessfully:::Update page successfully.") : _localizedResourceServices.T("AdminModule:::Pages:::Messages:::UpdateFailure:::Update page failed. Please try again later.. Please try again later.")); case GridOperationEnums.Del: page = GetById(model.Id); if (page != null) { if (page.Pages1.Any()) { return new ResponseModel { Success = false, Message = _localizedResourceServices.T("AdminModule:::Pages:::Messages:::DeleteReferenceFailure:::Delete is disabled for this page as there are child pages. Please delete child pages first.") }; } _clientMenuRepository.Delete(page.ClientMenus.First().Id); response = Delete(model.Id); return response.SetMessage(response.Success ? _localizedResourceServices.T("AdminModule:::Pages:::Messages:::DeleteSuccessfully:::Delete page successfully.") : _localizedResourceServices.T("AdminModule:::Pages:::Messages:::DeleteFailure:::Delete page failed. Please try again later.")); } break; } return new ResponseModel { Success = false, Message = _localizedResourceServices.T("AdminModule:::Pages:::Messages:::ObjectNotFounded:::Page is not founded.") }; }
public JsonResult Manage(PageModel model, GridManagingModel manageModel) { if (ModelState.IsValid || manageModel.Operation == GridOperationEnums.Del) { return Json(_pageServices.ManagePage(manageModel.Operation, model)); } return Json(new ResponseModel { Success = false, Message = GetFirstValidationResults(ModelState).Message }); }