Ejemplo n.º 1
0
        /// <summary>
        /// Reverts the specified path back to a normal folder. Also remove iFolder / Membership.
        /// </summary>
        /// <param name="path">The path to revert back to a normal folder.</param>

        public void RevertToNormal([MarshalAs(UnmanagedType.LPWStr)] string path)
        {
            Cursor.Current = Cursors.WaitCursor;
            try
            {
                connectToWebService();
                RevertiFolder revertiFolder = new RevertiFolder();
                iFolderWeb    ifolder       = ifWebService.GetiFolderByLocalPath(path);
                bool          IsMaster      = (ifolder.CurrentUserID == ifolder.OwnerID);
                if (!IsMaster)
                {
                    revertiFolder.removeFromServer.Text = resourceManager.GetString("AlsoRemoveMembership");
                }

                revertiFolder.removeFromServer.Enabled = simws.GetDomainInformation(ifolder.DomainID).Authenticated;

                if (revertiFolder.ShowDialog() == DialogResult.Yes)
                {
                    Cursor.Current = Cursors.WaitCursor;
                    if (ifWebService != null && ifolder != null)
                    {
                        ifWebService.RevertiFolder(ifolder.ID);
                        if (revertiFolder.RemoveFromServer)
                        {
                            if (IsMaster)
                            {
                                ifWebService.DeleteiFolder(ifolder.DomainID, ifolder.ID);
                            }
                            else
                            {
                                ifWebService.DeclineiFolderInvitation(ifolder.DomainID, ifolder.ID);
                            }
                        }
                    }
                }
                revertiFolder.Dispose();
            }
            catch (WebException e)
            {
                ifWebService = null;
                if (e.Status == WebExceptionStatus.ProtocolError)
                {
                    LocalService.ClearCredentials();
                }
            }
            catch (Exception e)
            {
                Cursor.Current = Cursors.Default;
                Novell.iFolderCom.MyMessageBox mmb = new MyMessageBox(resourceManager.GetString("iFolderRevertError"),
                                                                      resourceManager.GetString("revertErrorTitle"), e.Message, MyMessageBoxButtons.OK, MyMessageBoxIcon.Error);
                mmb.ShowDialog();
                mmb.Dispose();
            }
            Cursor.Current = Cursors.Default;
        }
Ejemplo n.º 2
0
        private static void RemoveSelectedFolderHandler(string path)
        {
            iFolderMsgDialog dialog = new iFolderMsgDialog(
                null,
                iFolderMsgDialog.DialogType.Question,
                iFolderMsgDialog.ButtonSet.YesNo,
                "",
                Util.GS("Revert this iFolder back to a normal folder?"),
                Util.GS("The folder will still be on your computer, but it will no longer synchronize with the iFolder Server."));

            CheckButton deleteFromServerCB;

            iFolderWeb ifolder  = ifws.GetiFolderByLocalPath(path);
            bool       IsMaster = (ifolder.CurrentUserID == ifolder.OwnerID);

            if (IsMaster)
            {
                deleteFromServerCB = new CheckButton(Util.GS("Also _delete this iFolder from the server"));
            }
            else
            {
                deleteFromServerCB = new CheckButton(Util.GS("Also _remove my membership from this iFolder"));
            }

            deleteFromServerCB.Sensitive = simws.GetDomainInformation(ifolder.DomainID).Authenticated;
            dialog.ExtraWidget           = deleteFromServerCB;

            int rc = dialog.Run();

            dialog.Hide();
            dialog.Destroy();
            if (rc == -8)
            {
                try
                {
                    if (ifolder != null)
                    {
                        ifws.RevertiFolder(ifolder.ID);
                        if (deleteFromServerCB.Active)
                        {
                            if (IsMaster)
                            {
                                ifws.DeleteiFolder(ifolder.DomainID, ifolder.ID);
                            }
                            else
                            {
                                ifws.DeclineiFolderInvitation(ifolder.DomainID, ifolder.ID);
                            }
                        }
                    }
                }
                catch (Exception e)
                {
                    iFolderExceptionDialog ied =
                        new iFolderExceptionDialog(
                            null,
                            e);
                    ied.Run();
                    ied.Hide();
                    ied.Destroy();
                }
            }
        }