Пример #1
0
        public string Map(string categoryName, string counterName, string source, string instance, string extData)
        {
            CounterCategoryInfo catInfo      = GetOrCreateCategoryInfo(categoryName);
            CounterNameInfo     nameInfo     = catInfo.GetOrCreateNameInfo(counterName);
            CounterSourceInfo   sourceInfo   = nameInfo.GetOrCreateSourceInfo(source);
            CounterInstanceInfo instanceInfo = nameInfo.GetOrCreateInstanceInfo(instance);
            CounterExtDataInfo  extDataInfo  = nameInfo.GetOrCreateExtDataInfo(extData);

            return(string.Join("/", sourceInfo.Id, instanceInfo.Id, extDataInfo.Id));
        }
Пример #2
0
        public string Map(string cc, string cn, string cs, string ci, string ced)
        {
            CounterCategoryInfoOld counterCategory = _store.GetByName(cc);
            CounterNameInfoOld     counter         = counterCategory.GetCounter(cn);
            CounterSourceInfo      counterSource   = counter.GetSource(cs);
            CounterInstanceInfo    counterInstance = GetInstance(counterCategory, counter, ci);
            CounterExtDataInfo     counterExtData  = GetExtData(counterCategory, counter, ced);

            return(String.Join("|", "s" + counterSource.Id, "i" + counterInstance.Id, "ed" + counterExtData.Id));
        }
        public CounterInstanceInfo GetMappedCounterInstanceInfo(int counterInstanceId)
        {
            CounterInstanceInfo instanceInfo = _instanceCache.FindById(counterInstanceId);

            if (instanceInfo == null)
            {
                UpdateInstanceCache();
                instanceInfo = _instanceCache.FindById(counterInstanceId);
            }
            return(instanceInfo);
        }
        public CounterInstanceInfo GetOrCreateInstanceInfo(string name)
        {
            CounterInstanceInfo instanceInfo = _instanceCache.FindByName(name);

            if (instanceInfo == null)
            {
                UpdateInstanceCache();
                instanceInfo = _instanceCache.FindByName(name) ?? this.CreateNewInstanceInfo(name);
            }
            return(instanceInfo);
        }
        public void SaveCounterInstance(int parentCategoryId, int parentCounterId,
                                        CounterInstanceInfo counterInstanceInfo)
        {
            MongoCollection <BsonDocument> items = Database.GetCollection("countersInfo");
            IMongoQuery   q = Query.And(Query.EQ("id", parentCategoryId));
            UpdateBuilder u = new UpdateBuilder();

            if (counterInstanceInfo != null)
            {
                u.AddToSet("c" + parentCounterId + ".instances",
                           new BsonDocument {
                    { "name", counterInstanceInfo.Name }, { "id", counterInstanceInfo.Id }
                });
            }
            items.Update(q, u, UpdateFlags.Upsert, SafeMode.True);
        }