예제 #1
0
        private void ExecuteGlobalWrite(GlobalWrite action, GlobalWrite undoAction, bool skipWriteToMServ)
        {
            bool flag  = (GlsMServDirectorySession.GlsLookupMode == GlsLookupMode.BothGLSAndMServ || GlsMServDirectorySession.GlsLookupMode == GlsLookupMode.MServReadsDisabled || GlsMServDirectorySession.GlsLookupMode == GlsLookupMode.MServOnly) && !skipWriteToMServ;
            bool flag2 = GlsMServDirectorySession.GlsLookupMode == GlsLookupMode.BothGLSAndMServ || GlsMServDirectorySession.GlsLookupMode == GlsLookupMode.GlsOnly || GlsMServDirectorySession.GlsLookupMode == GlsLookupMode.MServReadsDisabled;

            if (flag2)
            {
                action(this.glsSession.Value);
            }
            if (flag)
            {
                bool flag3 = true;
                try
                {
                    action(this.mservSession.Value);
                    flag3 = false;
                }
                finally
                {
                    if (flag3 && undoAction != null && flag2)
                    {
                        undoAction(this.glsSession.Value);
                    }
                }
            }
        }
예제 #2
0
 private void ExecuteGlobalWriteNoUndo(GlobalWrite action, bool skipWriteToMServ)
 {
     this.ExecuteGlobalWrite(action, null, skipWriteToMServ);
 }
예제 #3
0
 private void ExecuteGlobalWrite(GlobalWrite action, GlobalWrite undoAction)
 {
     this.ExecuteGlobalWrite(action, undoAction, false);
 }
예제 #4
0
 private void ExecuteGlobalWriteNoUndo(GlobalWrite action)
 {
     this.ExecuteGlobalWrite(action, null, false);
 }