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)); }
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); }