Пример #1
0
 internal protected static string SetupDocument(String repositoryName, String contentId)
 {
     if (!String.IsNullOrEmpty(contentId) && OfficeApplication.TryLogOn())
     {
         IOfficeDocument document = OfficeApplication.OfficeDocumentProxy;
         try
         {
             if (document.exists(repositoryName, contentId))
             {
                 return(contentId);
             }
             else
             {
                 RtlAwareMessageBox.Show("El contenido parace haberse publicado en un sitio web.\r\nAl sitio donde se está intentando conectar, indica que este contenido no existe.\r\nSi desea continuar se perderá esta información, de lo contrario, cierre este documento.", "Verificación de contenido en sitio web", MessageBoxButtons.OK, MessageBoxIcon.Warning);
             }
         }
         catch (FormatException fe)
         {
             OfficeApplication.WriteError(fe);
         }
         catch (ApplicationException ap)
         {
             OfficeApplication.WriteError(ap);
         }
     }
     return(null);
 }
Пример #2
0
 public void InsertLink()
 {
     if (OfficeApplication.TryLogOn())
     {
         FormAddLink formAddLink = new FormAddLink(this);
         formAddLink.ShowDialog();
     }
 }
Пример #3
0
 public void InsertLinkToDoc()
 {
     if (OfficeApplication.TryLogOn())
     {
         FormInsertLinkToDocuentRepository formAddLink = new FormInsertLinkToDocuentRepository(this);
         formAddLink.ShowDialog();
     }
 }
Пример #4
0
 public static void showRepository(DocumentType documentType)
 {
     if (OfficeApplication.TryLogOn())
     {
         FormEditRepository frm = new FormEditRepository(documentType);
         frm.ShowDialog();
     }
 }
Пример #5
0
 public void showContentInformation()
 {
     if (OfficeApplication.TryLogOn() && SetupDocument())
     {
         FormContentInformation formContentInformation = new FormContentInformation(reporitoryID, contentID, this);
         formContentInformation.ShowDialog();
     }
 }
Пример #6
0
 public void Open(DocumentType documentType)
 {
     if (OfficeApplication.TryLogOn())
     {
         FormOpenContent frm = new FormOpenContent(this, documentType);
         frm.ShowDialog();
         frm.open();
     }
 }
Пример #7
0
        /// <param name="obj">Clase <see cref="T:System.Object"/> que se va a comparar con la clase <see cref="T:System.Object"/> actual.</param>
        /// <returns>Es true si el objeto <see cref="T:System.Object"/> especificado es igual al objeto <see cref="T:System.Object"/> actual; en caso contrario, es false.</returns>
        public override bool Equals(object obj)
        {
            OfficeApplication officeApplication = obj as OfficeApplication;

            if (officeApplication != null)
            {
                return(this.Version.Equals(officeApplication.Version));
            }
            return(false);
        }
Пример #8
0
 public static void ShowHelp()
 {
     try
     {
         System.Diagnostics.Process.Start("explorer.exe", "\"http://www.semanticwebbuilder.org.mx/OS/wb/COSWB/documentation\"");
     }
     catch (Exception err)
     {
         OfficeApplication.WriteError(err);
     }
 }
Пример #9
0
        /// <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);
        }
Пример #10
0
 static OfficeApplication()
 {
     try
     {
         Thread.CurrentThread.CurrentUICulture = new CultureInfo("es");
     }
     catch (Exception e)
     {
         OfficeApplication.WriteError(e);
         //MessageBox.Show(e.Message + "\r\n" + e.StackTrace);
     }
     Debug.Listeners.Add(listener);
     Trace.Listeners.Add(listener);
 }
Пример #11
0
 private void UpdateContent()
 {
     if (OfficeApplication.TryLogOn() && SetupDocument())
     {
         String contentID    = this.CustomProperties[CONTENT_ID_NAME];
         String reporitoryID = this.CustomProperties[REPOSITORY_ID_NAME];
         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!", "Actualizar contenido", MessageBoxButtons.OK, MessageBoxIcon.Error);
             return;
         }
         FormUpdateContent frm = new FormUpdateContent(this);
         frm.ShowDialog();
     }
 }
Пример #12
0
 /// <summary>
 /// Coverts the uri string path to FileInfo
 /// </summary>
 /// <param name="uri">uri to convert, it can be relative or absulute</param>
 /// <returns>FileInfo width the path of the file, null is the uri is not a local path, for example: http://www.infotec.com.mx</returns>
 private static FileInfo UriToFile(Uri uri)
 {
     if (uri.IsFile)
     {
         try
         {
             FileInfo farchivo = new FileInfo(uri.LocalPath);
             return(farchivo);
         }
         catch (Exception e)
         {
             OfficeApplication.WriteError(e);
         }
     }
     return(null);
 }
Пример #13
0
 public string GetLogin(Uri uri)
 {
     try
     {
         Dictionary <Uri, SWBURIConfiguration> dictionary = this.configurations.ToDictionary(p => p.Uri);
         if (dictionary[uri] != null)
         {
             return(dictionary[uri].Login);
         }
         return(null);
     }
     catch (KeyNotFoundException knfe)
     {
         OfficeApplication.WriteError(knfe);
         return("");
     }
 }
Пример #14
0
 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);
                 }
             }
         }
     }
 }
Пример #15
0
 public void Publish(String title, String description, WebSiteInfo site)
 {
     try
     {
         if (OfficeApplication.TryLogOn() && SetupDocument() && IsPublished)
         {
             WebSiteInfo[] sites = OfficeApplication.OfficeApplicationProxy.getSites();
             if (sites == null || sites.Length == 0)
             {
                 MessageBox.Show("¡No hay sitios web creados, debe crear un sitio para publicar un documento!", "Publicación de contenido", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 return;
             }
             FormPublishcontentToPage frm = new FormPublishcontentToPage(this, title, description, site);
             frm.ShowDialog();
         }
     }
     catch (Exception e)
     {
         OfficeApplication.WriteError(e);
     }
 }
Пример #16
0
        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);
        }
Пример #17
0
 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);
     }
 }