/// <summary> /// Verify if the content is published or not, and if it exists or not. /// </summary> protected bool SetupDocument() { bool setupDocument = false; if (this.CustomProperties.ContainsKey(CONTENT_ID_NAME) && this.CustomProperties.ContainsKey(REPOSITORY_ID_NAME)) { contentID = this.CustomProperties[CONTENT_ID_NAME]; reporitoryID = this.CustomProperties[REPOSITORY_ID_NAME]; } try { contentID = OfficeApplication.SetupDocument(reporitoryID, contentID); setupDocument = true; } catch (HttpException e) { if (e.Code == HttpStatusCode.NotFound) { RtlAwareMessageBox.Show(null, "El sitio al que desea conectarse, indica que no tiene habilitada la función de publicación de contenidos", "Verificación de contenido", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (e.Code == HttpStatusCode.Forbidden) { RtlAwareMessageBox.Show(null, "Su clave o contraseña es incorrecta", "Iniciar sessión", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { RtlAwareMessageBox.Show(null, e.Message, "Verificación de contenido", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } OfficeApplication.LogOff(); } catch (WebException e) { if (e.Status == WebExceptionStatus.ConnectFailure) { RtlAwareMessageBox.Show(null, "El sitio web con el que intenta trabajar, se encuentra apagado o no se puede acceder al mismo.", "Verificación de contenido", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { RtlAwareMessageBox.Show(null, e.Message, "Verificación de contenido", MessageBoxButtons.OK, MessageBoxIcon.Error); } OfficeApplication.LogOff(); } catch (Exception e) { OfficeApplication.WriteError(e); RtlAwareMessageBox.Show(null, e.Message, "Verificación de contenido", MessageBoxButtons.OK, MessageBoxIcon.Error); OfficeApplication.LogOff(); } return(setupDocument); }
public void Delete() { if (IsPublished) { if (OfficeApplication.TryLogOn() && SetupDocument()) { bool canModify = OfficeDocument.OfficeDocumentProxy.canModify(reporitoryID, contentID); if (!canModify) { MessageBox.Show("¡No tiene permisos para modificar o borrar este contenido, debe ser el propietario o un super usuario quien lo puede realizar!", "Borrar contenido", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } DialogResult result = RtlAwareMessageBox.Show("¿Desea borrar el contenido del sitio web?", "Borrar contenido", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { try { OfficeDocumentProxy.delete(this.reporitoryID, this.contentID); this.CleanContentProperties(); MessageBox.Show("¡Se ha borrado el contenido!", "Borrado de contenido", MessageBoxButtons.OK, MessageBoxIcon.Information); if (OfficeApplication.MenuListener != null) { OfficeApplication.MenuListener.NoDocumentPublished(); } } catch (HttpException e) { RtlAwareMessageBox.Show(e.Message, "Borrar contenido", MessageBoxButtons.OK, MessageBoxIcon.Error); OfficeApplication.WriteError(e); } catch (XmlRpcException e) { RtlAwareMessageBox.Show(e.Message, "Borrar contenido", MessageBoxButtons.OK, MessageBoxIcon.Error); OfficeApplication.WriteError(e); } catch (WebException e) { RtlAwareMessageBox.Show(e.Message, "Borrar contenido", MessageBoxButtons.OK, MessageBoxIcon.Error); OfficeApplication.WriteError(e); } } } } }
public void SaveToSite() { try { if (IsReadOnly) { RtlAwareMessageBox.Show("El documento es de sólo lectura, por lo tanto no puede ser publicado", "Publicación de contenido", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (OfficeApplication.TryLogOn() && SetupDocument()) { if (!ValidaNombre(this.FilePath)) { return; } if (!ValidaFiles()) { return; } if (isOldVersion()) { DialogResult res = RtlAwareMessageBox.Show("El documento esta publicado en una versión anterior, ¿Desea que se verifique si existe en el sitio actual?", "Publicación de contenido", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); if (res == DialogResult.Yes) { String contentid = this.CustomProperties["content"]; String topicid = this.CustomProperties["topicid"]; String topicmap = this.CustomProperties["topicmap"]; ContentInfo info = OfficeApplication.OfficeDocumentProxy.existContentOldVersion(contentid, topicmap, topicid); if (info != null) { res = RtlAwareMessageBox.Show("El documento se encuentra en el sitio, ¿Desea convertir el documento a versión 4?", "Publicación de contenido", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); if (res == DialogResult.Yes) { CleanContentProperties(); SaveContentProperties(info.id, info.respositoryName); this.Save(); RtlAwareMessageBox.Show("¡El documento se ha convertido a versión 4, puede continuar!", "Publicación de contenido", MessageBoxButtons.OK, MessageBoxIcon.Information); } if (res == DialogResult.Cancel) { return; } } else { res = RtlAwareMessageBox.Show("El documento no existe en el sitio actual, por lo cuál no se puede convertir, ¿Desea continuar?", "Publicación de contenido", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (res == DialogResult.No) { return; } } } if (res == DialogResult.Cancel) { return; } } if (IsNew) { SaveFileDialog dialog = new SaveFileDialog(); dialog.Title = "Guardar Documento"; dialog.CreatePrompt = true; dialog.CheckFileExists = false; dialog.CheckPathExists = true; dialog.OverwritePrompt = true; dialog.AddExtension = true; dialog.DefaultExt = DefaultExtension; dialog.Filter = DocumentFilter; DialogResult result = dialog.ShowDialog(); if (result != DialogResult.OK) { return; } FileInfo file = new FileInfo(dialog.FileName); if (file.Exists) { file.Delete(); } Save(file); new FormSaveContent(this).ShowDialog(); } else if (!IsNew && this.IsPublished && OfficeApplication.OfficeDocumentProxy.exists(this.reporitoryID, this.contentID)) { // update the content Save(); UpdateContent(); } else { Save(); new FormSaveContent(this).ShowDialog(); } } } catch (Exception e) { OfficeApplication.WriteError(e); } }
internal static bool TryLogOn() { bool tryLogOn = false; if (userInfo == null || webAddress == null) { LogOn(); if (userInfo == null || webAddress == null) { LogOff(); tryLogOn = false; } else { MenuListener.LogOn(); tryLogOn = true; } } else { tryLogOn = true; } if (tryLogOn) { try { OfficeApplicationProxy.isValidVersion(m_version); if (MenuListener != null) { MenuListener.LogOn(); } URIConfigurationList uRIConfigurationList = new URIConfigurationList(); String uri = OfficeApplicationProxy.WebAddress.ToString(); if (uri.EndsWith("gtw")) { uri = uri.Substring(0, uri.Length - 3); } uRIConfigurationList.Add(OfficeApplicationProxy.Credentials.UserName, new Uri(uri)); MenuListener.LogOn(); } catch (HttpException e) { MenuListener.LogOff(); tryLogOn = false; if (e.Code == HttpStatusCode.NotFound) { RtlAwareMessageBox.Show(null, "No se puede conectar a la dirección web, o la dirección es incorrecta o no se tiene habilitada la publicación de contenidos", "Iniciar sessión", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (e.Code == HttpStatusCode.Forbidden) { RtlAwareMessageBox.Show(null, "Su clave o contraseña es incorrecta", "Iniciar sessión", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { RtlAwareMessageBox.Show(null, e.Message, "Iniciar sessión", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } OfficeApplication.LogOff(); } catch (WebException e) { MenuListener.LogOff(); tryLogOn = false; if (e.Status == WebExceptionStatus.ConnectFailure) { RtlAwareMessageBox.Show(null, "El sitio web con el que intenta trabajar, se encuentra apagado o no se puede acceder al mismo.", "Iniciar sessión", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { RtlAwareMessageBox.Show(null, e.Message, "Iniciar sessión", MessageBoxButtons.OK, MessageBoxIcon.Error); } OfficeApplication.LogOff(); } catch (Exception e) { OfficeApplication.WriteError(e); MenuListener.LogOff(); RtlAwareMessageBox.Show(null, e.Message, "Iniciar sessión", MessageBoxButtons.OK, MessageBoxIcon.Error); tryLogOn = false; OfficeApplication.LogOff(); } } return(tryLogOn); }