/// <summary> /// Crée une nouvelle instance. /// </summary> /// <param name="date">Date de début du cube.</param> /// <param name="axis">Clé de l'axe fonctionnel.</param> /// <param name="level">Période de temps couverte par le cube.</param> internal CubeKey(DateTime date, string axis, TimeLevel level) { this._axis = axis; this._level = level; this._dateKey = level.GetDateKey(date); _hashCode = _axis.GetHashCode() + (5 * _level.GetHashCode()) + (7 * _dateKey.GetHashCode()); }
/// <summary> /// Constructeur. /// </summary> /// <param name="hyperCube">HyperCube utilisé par le comparateur.</param> /// <param name="date">Date à la quelle se fait la comparaison.</param> /// <param name="counterDefinitionCode">Compteur à comparer.</param> /// <param name="statType">Type de statistique à comparer (min, max, moy, ...).</param> /// <param name="level">Période de temps sur laquelle appliquer la comparaison.</param> internal HyperCubeComparer(IHyperCube hyperCube, DateTime date, string counterDefinitionCode, CounterStatType statType, TimeLevel level) { this._counterDefinitionCode = counterDefinitionCode; this._date = date; this._hyperCube = hyperCube; this._level = level; this._statType = statType; }
/// <summary> /// Constructeur. /// </summary> /// <param name="axis">Axe.</param> /// <param name="databaseName">Nom de la base de données.</param> /// <param name="level">TimeLevel.</param> /// <param name="maxValueCount">Capacity.</param> internal HyperCubeRamCounterDataStore(string axis, string databaseName, TimeLevel level, int maxValueCount) { this._axis = axis; this._databaseName = databaseName; this._level = level; this._maxValueCount = maxValueCount; _datas = new Dictionary <CubeKey, Cube>(maxValueCount); _keyList = new LinkedList <CubeKey>(); }
/// <summary> /// Retourne le datastore associé à un level. /// </summary> /// <param name="level">Unité de temps.</param> /// <returns>Datastore.</returns> private HyperCubeRamCounterDataStore GetCounterDataStore(TimeLevel level) { if (level == TimeLevel.Hour) { return(_heureGrapheur); } else if (level == TimeLevel.Minute) { return(_minuteGrapheur); } else { throw new NotSupportedException(); } }
/// <summary> /// Crée une nouvelle à partir de la valeur sérialisée. /// </summary> /// <param name="info">Information de sérialisation.</param> /// <param name="context">Contexte de sérialisation.</param> private CubeKey(SerializationInfo info, StreamingContext context) { _axis = info.GetString("axis"); _dateKey = info.GetDateTime("startDate"); _level = TimeLevel.ValueOf(info.GetString("level")); }
/// <summary> /// Crée un nouveau critère. /// </summary> /// <param name="axis">Nom de l'axe de lecture.</param> /// <param name="level">Intervale de temps à lire.</param> internal CounterCubeCriteria(string axis, TimeLevel level) { this._axis = axis; this._level = level; }