protected void OnSaveClick(object sender, EventArgs e) { const bool redirect = true; try { // get content var htmlContent = this.GetLatestHTMLContent(); var aliases = from PortalAliasInfo pa in PortalAliasController.Instance.GetPortalAliasesByPortalId(this.PortalSettings.PortalId) select pa.HTTPAlias; string content; if (this.phEdit.Visible) { content = this.txtContent.Text; } else { content = this.hfEditor.Value; } if (this.Request.QueryString["nuru"] == null) { content = HtmlUtils.AbsoluteToRelativeUrls(content, aliases); } htmlContent.Content = content; var draftStateID = this._workflowStateController.GetFirstWorkflowStateID(this.WorkflowID); var publishedStateID = this._workflowStateController.GetLastWorkflowStateID(this.WorkflowID); switch (this.CurrentWorkflowType) { case WorkflowType.DirectPublish: this._htmlTextController.UpdateHtmlText(htmlContent, this._htmlTextController.GetMaximumVersionHistory(this.PortalId)); break; case WorkflowType.ContentStaging: if (this.chkPublish.Checked) { // if it's already published set it to draft if (htmlContent.StateID == publishedStateID) { htmlContent.StateID = draftStateID; } else { htmlContent.StateID = publishedStateID; // here it's in published mode } } else { // if it's already published set it back to draft if (htmlContent.StateID != draftStateID) { htmlContent.StateID = draftStateID; } } this._htmlTextController.UpdateHtmlText(htmlContent, this._htmlTextController.GetMaximumVersionHistory(this.PortalId)); break; } } catch (Exception exc) { Exceptions.LogException(exc); UI.Skins.Skin.AddModuleMessage(this.Page, "Error occurred: ", exc.Message, ModuleMessage.ModuleMessageType.RedError); return; } // redirect back to portal if (redirect) { this.Response.Redirect(this._navigationManager.NavigateURL(), true); } }
public ActionResult EditItem(ViewModelEditItem modelView) { try { var item = modelView.ItemModel; var itemContent = modelView.ItemContentModel; if ((ModelState.IsValid) && (item != null)) { if (item.ItemId == -1) { item.ModuleId = ModuleContext.ModuleId; item.ItemIsPub = false; item.ItemCreaUserID = User.UserID; item.ItemCreaDate = DateTime.UtcNow.ToLocalTime(); item.ItemModifUserID = User.UserID; item.ItemModifDate = DateTime.UtcNow.ToLocalTime(); ItemManager.Instance.CreateItem(item); } else { var existingItem = ItemManager.Instance.GetItem(item.ItemId, ModuleContext.ModuleId); existingItem.ItemModifUserID = User.UserID; existingItem.ItemModifDate = DateTime.UtcNow.ToLocalTime(); existingItem.ItemName = item.ItemName; existingItem.ItemDescription = item.ItemDescription; existingItem.ItemPubDateStart = item.ItemPubDateStart; existingItem.ItemPubDateEnd = item.ItemPubDateEnd; ItemManager.Instance.UpdateItem(existingItem); item = existingItem; } //Sauvegarde le contenu html de l'item if ((item.ItemId > 0) && (itemContent != null)) { var aliases = from PortalAliasInfo pa in PortalAliasController.Instance.GetPortalAliasesByPortalId(PortalSettings.PortalId) select pa.HTTPAlias; string content; content = itemContent.nText; if (Request.QueryString["nuru"] == null) { content = HtmlUtils.AbsoluteToRelativeUrls(content, aliases); } var htmlContent = ItemContentManager.Instance.GetItemContent(item.ItemId) ?? new ItemContent() { ItemId = item.ItemId, ModuleID = ModuleContext.ModuleId }; htmlContent.CreaUserID = User.UserID; htmlContent.ModifUserID = User.UserID; htmlContent.nText = content; ItemContentManager.Instance.UpdateItemContent(htmlContent, ItemContentManager.Instance.GetMaximumVersionHistory(ModuleContext.PortalId)); modelView.ItemContentModel = htmlContent; } modelView.ItemModel = item; } } catch { } ModelState.Clear(); //return View("EditItem", modelView); return(ViewEditItem((modelView.ItemModel != null) ? modelView.ItemModel.ItemId : -1)); }