示例#1
0
文件: WorkSpace.cs 项目: BgRva/Blob1
 public WorkSpace(Guid id, IVarMgr varMgr, IElements elementsMgr, IPipes pipesMgr, IWorkSpaceOptionsMgr optionsMgr, IWorkSpaceSettingsMgr settingsMgr)
 {
     SettingsMgr = settingsMgr;
     OptionsMgr = optionsMgr;
     VarMgr = varMgr;
     ElementsMgr = elementsMgr;
     PipesMgr = pipesMgr;
     Id = id;
     _wsProperties = new WorkSpaceProperties(Id);
 }
示例#2
0
        internal bool ValidateVarMgr(IVarMgr varMgr, out Exception ex)
        {
            bool isValid = true;
            ex = null;
            string mssg = null;

            if (varMgr == null)
            {
                mssg = "The variable mgr is null and cannot be persisted.";
                isValid = false;
            }

            if (!isValid)
            {
                PersistException argEx = new PersistException(mssg);
                ex = argEx;
            }
            return isValid;
        }
示例#3
0
 internal void WrapUp(bool isValidContinue, IVarMgr varMgr, Exception ex)
 {
     if (isValidContinue && !IsCancelled)
     {
         // --- set status's to completed when all is done
         WorkerStatus = WorkerStatus.Completed;
         PersistComplete(PercentProgress, false, ex, null);
     }
     else if (IsCancelled)
     {
         PersistComplete(PercentProgress, IsCancelled, ex, null);
     }
     else
     {
         // ex cannot be null if an error occured
         if (ex == null)
             ex = new FxExecutionErrorException("An persistance error occured.");
         WorkerStatus = WorkerStatus.Error;
         PersistComplete(PercentProgress, IsCancelled, ex, null);
     }
 }
示例#4
0
 internal void PersistCore(IVarMgr varMgr, System.Xml.XmlWriter writer)
 {
     writer.WriteStartElement("Variables");
     writer.WriteEndElement();
 }
示例#5
0
        internal void PersistWorker(IVarMgr varMgr, System.Xml.XmlWriter writer)
        {
            Exception ex = null;
            bool isValidContinue = false;

            // ------------------------------------------------
            UpdateProgress(1, "Persisting ...");

            try
            {
                // ---
                isValidContinue = ValidateVarMgr(varMgr, out ex);
                if (isValidContinue && !IsCancelled)
                {
                    PersistCore(varMgr, writer);
                }
                WrapUp(isValidContinue, varMgr, ex);
            }
            catch (Exception x)
            {
                // update the status if the ex is not recoverable
                PersistWorkerCleanUp(x);
            }
        }
示例#6
0
        public void PersistVarMgr(IVarMgr varMgr, System.Xml.XmlWriter writer)
        {
            IsAsynch = false;
            WorkerStatus = WorkerStatus.ExecutingSynch;
            CompletionCalled = false;
            PercentProgress = 0;

            PersistWorker(varMgr, writer);
        }
示例#7
0
        public void PersistVarMgrAsync(IVarMgr varMgr, System.Xml.XmlWriter writer)
        {
            throw new Exception("The method or operation is not implemented.");

            if (IsBusy)
            {
                CancelAsync();
                Reset();
            }

            IsAsynch = true;
            WorkerStatus = WorkerStatus.ExecutingAsynch;
            PercentProgress = 0;
            CompletionCalled = false;

            AsynchOp = AsyncOperationManager.CreateOperation(null);
            new PersistDelegate(PersistWorker).BeginInvoke(varMgr, writer, null, null);
        }
示例#8
0
 public IWorkSpace Create(Guid id, IVarMgr varMgr, IElements elementsMgr, IPipes pipesMgr, IWorkSpaceOptionsMgr optionsMgr, IWorkSpaceSettingsMgr settingsMgr)
 {
     return new WorkSpace(id, varMgr, elementsMgr, pipesMgr, optionsMgr, settingsMgr);
 }
示例#9
0
 internal void PersistVarMgr(IVarMgr varMgr, System.Xml.XmlWriter writer)
 {
     VarPersister.PersistVarMgr(varMgr, writer);
 }
示例#10
0
 internal void UnpersistVarMgr(IVarMgr varMgr, System.Xml.XmlReader reader)
 {
     VarUnpersister.UnpersistVarMgr(varMgr, reader);
 }
示例#11
0
 internal void UnpersistCore(IVarMgr varMgr, System.Xml.XmlReader reader)
 {
     //  reader.WriteStartElement("Variables");
     //   reader.WriteEndElement();
 }
示例#12
0
        public void UnpersistVarMgr(IVarMgr target, System.Xml.XmlReader reader)
        {
            IsAsynch = false;
            WorkerStatus = WorkerStatus.ExecutingSynch;
            CompletionCalled = false;
            PercentProgress = 0;

            UnpersistWorker(target, reader);
        }