Example #1
0
        public void RemoveToolpaths(ToolpathSO sourceSO)
        {
            List <AnalysisViz> found;

            lock (SOToAnalysis) {
                if (SOToAnalysis.TryGetValue(sourceSO, out found))
                {
                    foreach (var analysis in found)
                    {
                        analysis.OnComputeUpdateRequired  -= OnVisualizationRequestedUpdate;
                        analysis.OnGeometryUpdateRequired -= OnVisualizationHasGeometryUpdate;
                        analysis.Disconnect();
                    }
                    SOToAnalysis.Remove(sourceSO);
                }
            }
            lock (DirtyList) {
                if (found != null)
                {
                    foreach (var analysis in found)
                    {
                        DirtyList.Remove(analysis);
                    }
                }
            }
        }
Example #2
0
 public void RegisterDirty(T obj)
 {
     if (!NewList.Contains(obj) && !RemovedList.Contains(obj))
     {
         DirtyList.Add(obj);
     }
     // Console.WriteLine("Updating: " + obj.ToBsonDocument()[0]);\
 }
Example #3
0
        public bool IsDirty(string columnName)
        {
            if (DirtyList.ContainsKey(columnName))
            {
                return(DirtyList[columnName]);
            }

            throw new KeyNotFoundException(columnName);
        }
Example #4
0
        public CircuitState(int reserveState)
        {
            int seed = (int)DateTime.UtcNow.Ticks;

            //seed = -142808611;
            Tracer.FullInfo("CircuitState", "CircuitState.seed={0}", seed);
            this.dirty  = new DirtyList(seed);
            this.Random = new Random(seed);
            this.Count  = reserveState;
        }
        public void PopulateArray_HandlesDuplicateIds()
        {
            var customField = new CustomField {
                FieldName = "CX.ABC", StringValue = "ABC"
            };
            var list = new DirtyList <CustomField>
            {
                customField
            };

            JsonHelper.PopulateFromJson(@"[{""fieldName"":""CX.ABC"",""stringValue"":""DEF""},{""fieldName"":""CX.ABC"",""stringValue"":""GHI""}]", list);
            Assert.AreEqual(2, list.Count);
            Assert.AreSame(customField, list[0]);
            Assert.AreEqual("DEF", customField.StringValue);
            Assert.AreEqual("GHI", list[1].StringValue);
        }
Example #6
0
 protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
 {
     PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
     if (propertyName != null && propertyName.Equals("DupDirtyList"))
     {
         return;
     }
     if (DirtyList == null)
     {
         DirtyList = new List <string>();
     }
     if (DirtyList.SingleOrDefault(x => x == propertyName) == null)
     {
         DirtyList.Add(propertyName);
     }
 }
Example #7
0
        public void RegisterRemoved(T obj)
        {
            // remove from dirty list (nothing will happen even if the obj not inside the dirty list)
            DirtyList.Remove(obj);

            if (NewList.Contains(obj))
            {
                // if obj is newly created, not yet saved in db, then just remove it from new list
                NewList.Remove(obj);
            }
            else if (!RemovedList.Contains(obj))
            {
                // only add obj into removed list if its not already inside
                RemovedList.Add(obj);
            }
        }
Example #8
0
        void add_new_so_analysis(SceneObject so, AnalysisViz analysis)
        {
            lock (SOToAnalysis) {
                List <AnalysisViz> l;
                if (SOToAnalysis.TryGetValue(so, out l) == false)
                {
                    l = new List <AnalysisViz>();
                    SOToAnalysis[so] = l;
                }
                l.Add(analysis);
            }

            analysis.OnComputeUpdateRequired  += OnVisualizationRequestedUpdate;
            analysis.OnGeometryUpdateRequired += OnVisualizationHasGeometryUpdate;

            lock (DirtyList) {
                DirtyList.Add(analysis);
                processThreadEvent.Set();
            }
        }
        public void RemoveMesh(DMeshSO sourceSO)
        {
            List <AnalysisViz> found;

            lock (SOToAnalysis) {
                if (SOToAnalysis.TryGetValue(sourceSO, out found))
                {
                    foreach (var analysis in found)
                    {
                        disconnect_analysis(analysis);
                    }
                    SOToAnalysis.Remove(sourceSO);
                }
            }
            lock (DirtyList) {
                if (found != null)
                {
                    foreach (var analysis in found)
                    {
                        DirtyList.Remove(analysis);
                    }
                }
            }
        }
Example #10
0
 public void MakeClean()
 {
     DirtyList.Clear();
     DupDirtyList.Clear();
 }
Example #11
0
 public bool AnyDirtyRelations(ORMEntity entity)
 {
     return(DirtyList.Any(x => entity.Relations.Any(e => e.GetType().Name != x.Key)));
 }
Example #12
0
        public void SaveResource(bool bNew, DataSet dataSet)
        {
            DataSet dsReturn = new DataSet();
            DataSet ds       = new DataSet();

            if (bNew)
            {
                ds = dataSet;
            }
            else
            {
                if (IsDirty)
                {
                    if (this.DirtyList.Count > 0)
                    {
                        if (DirtyList.ContainsKey(RBAC_RESOURCE_FIELDS.FIELD_RESOURCE_CODE))
                        {
                            DirtyItem dItem = new DirtyItem();
                            dItem.FieldOriginalValue = "";
                            dItem.FieldNewValue      = _resourceGroupKey;
                            DirtyList.Add(RBAC_RESOURCE_FIELDS.FIELD_RESOURCE_GROUP_KEY, dItem);
                        }
                        DataTable resourceTable = DataTableHelper.CreateDataTableForUpdateBasicData(RBAC_RESOURCE_FIELDS.DATABASE_TABLE_NAME);

                        foreach (string Key in DirtyList.Keys)
                        {
                            Dictionary <string, string> rowData = new Dictionary <string, string>()
                            {
                                { COMMON_FIELDS.FIELD_COMMON_UPDATE_KEY, _resourceKey },
                                { COMMON_FIELDS.FIELD_COMMON_UPDATE_NAME, Key },
                                { COMMON_FIELDS.FIELD_COMMON_UPDATE_OLD_VALUE, this.DirtyList[Key].FieldOriginalValue },
                                { COMMON_FIELDS.FIELD_COMMON_UPDATE_NEW_VALUE, this.DirtyList[Key].FieldNewValue }
                            };
                            FanHai.Hemera.Utils.Common.Utils.AddRowDataToDataTable(ref resourceTable, rowData);
                        }
                        if (resourceTable.Rows.Count > 0)
                        {
                            ds.Tables.Add(resourceTable);
                        }
                    }
                }
            }
            try
            {
                IServerObjFactory serverFactory = CallRemotingService.GetRemoteObject();
                if (null != serverFactory)
                {
                    if (bNew)
                    {
                        dsReturn = serverFactory.CreateIResourceEngine().AddResource(ds);
                    }
                    else
                    {
                        dsReturn = serverFactory.CreateIResourceEngine().UpdateResource(ds);
                    }
                    _errorMsg = FanHai.Hemera.Share.Common.ReturnMessageUtils.GetServerReturnMessage(dsReturn);
                }
            }
            catch (Exception ex)
            {
                _errorMsg = ex.Message;
            }
            finally
            {
                CallRemotingService.UnregisterChannel();
            }
        }