public ActionResult Edit(ClientNavigationManageModel model, SubmitType submit) { if (ModelState.IsValid) { var response = _clientNavigationService.SaveClientNavigationManageModel(model); SetResponseMessage(response); if (response.Success) { switch (submit) { case SubmitType.Save: return(RedirectToAction("Index")); default: return(RedirectToAction("Edit", new { id = model.Id })); } } } model.Parents = _clientNavigationService.GetPossibleParents(); return(View(model)); }
/// <summary> /// Save client Navigation manage model /// </summary> /// <param name="model"></param> /// <returns></returns> public ResponseModel SaveClientNavigationManageModel(ClientNavigationManageModel model) { ClientNavigation relativeNavigation; ResponseModel response; var clientNavigation = GetById(model.Id); #region Edit Client Navigation if (clientNavigation != null) { clientNavigation.Title = model.Title; clientNavigation.IncludeInSiteNavigation = model.IncludeInSiteNavigation; clientNavigation.DisableNavigationCascade = model.DisableNavigationCascade; clientNavigation.StartPublishingDate = model.StartPublishingDate; clientNavigation.EndPublishingDate = model.EndPublishingDate; clientNavigation.ParentId = model.ParentId; clientNavigation.Url = model.Url; clientNavigation.UrlTarget = model.UrlTarget; //Get page record order relativeNavigation = GetById(model.RelativeNavigationId); if (relativeNavigation != null) { if (model.Position == (int)ClientNavigationEnums.PositionEnums.Before) { clientNavigation.RecordOrder = relativeNavigation.PageId.HasValue ? relativeNavigation.Page.RecordOrder * EzCMSContants.OrderMultipleTimes - 1 : relativeNavigation.RecordOrder - 1; } else { clientNavigation.RecordOrder = relativeNavigation.PageId.HasValue ? relativeNavigation.Page.RecordOrder * EzCMSContants.OrderMultipleTimes + 1 : relativeNavigation.RecordOrder + 1; } } response = HierarchyUpdate(clientNavigation); return(response.SetMessage(response.Success ? T("ClientNavigation_Message_UpdateSuccessfully") : T("ClientNavigation_Message_UpdateFailure"))); } #endregion Mapper.CreateMap <ClientNavigationManageModel, ClientNavigation>(); clientNavigation = Mapper.Map <ClientNavigationManageModel, ClientNavigation>(model); //Get Navigation record order relativeNavigation = GetById(model.RelativeNavigationId); if (relativeNavigation != null) { if (model.Position == (int)ClientNavigationEnums.PositionEnums.Before) { clientNavigation.RecordOrder = relativeNavigation.PageId.HasValue ? relativeNavigation.Page.RecordOrder * EzCMSContants.OrderMultipleTimes - 1 : relativeNavigation.RecordOrder - 1; } else { clientNavigation.RecordOrder = relativeNavigation.PageId.HasValue ? relativeNavigation.Page.RecordOrder * EzCMSContants.OrderMultipleTimes + 1 : relativeNavigation.RecordOrder + 1; } } response = HierarchyInsert(clientNavigation); return(response.SetMessage(response.Success ? T("ClientNavigation_Message_CreateSuccessfully") : T("ClientNavigation_Message_CreateFailure"))); }