Пример #1
0
        /// <summary>
        /// Ajoute un compteur.
        /// </summary>
        /// <param name="counter">Compteur.</param>
        /// <param name="mergeTimeAxis">Indique si l'axe de temps doit être mergé.</param>
        /// <param name="mergeDate">Date à utiliser pour le merge.</param>
        internal void AddCounter(CounterData counter, bool mergeTimeAxis, DateTime mergeDate)
        {
            // Alimentation du dictionnaire des axes.
            string axis = counter.Axis;

            if (!_axis.ContainsKey(axis))
            {
                _axis.Add(axis, null);
            }

            if (_counters == null)
            {
                // Alimentation de la base de données des compteurs.
                string counterCode = counter.CounterCode;
                if (counterCode != null && !_counterDefinitions.ContainsKey(counterCode))
                {
                    _counterDefinitions.Add(
                        counterCode,
                        new CounterDefinition(counterCode, counter.CounterLabel, 1, 0, 0));
                }
            }

            // Alimentation du cube de données.
            DateTime startDate = mergeTimeAxis ? mergeDate : counter.StartDate;
            CubeKey  key       = new CubeKey(startDate, axis, TimeLevel.ValueOf(counter.Level));
            ICube    cube;

            if (!_cubes.TryGetValue(key, out cube))
            {
                cube = new ExternalCube(_name, key);
                _cubes.Add(key, cube);
            }

            ((ExternalCube)cube).AddCounter(counter);
        }
Пример #2
0
        /// <summary>
        /// Retourne cube qui peut être null.
        /// </summary>
        /// <param name="key">CubeKey.</param>
        /// <returns>CounterCube.</returns>
        ICube IHyperCube.GetCube(CubeKey key)
        {
            ICube cube;

            _cubes.TryGetValue(key, out cube);
            return(cube);
        }
Пример #3
0
        /// <summary>
        /// Rend un axe au format CSV.
        /// </summary>
        /// <param name="hyperCube">HyperCube.</param>
        /// <param name="context">Contexte.</param>
        /// <param name="writer">Writer CSV.</param>
        /// <param name="activeCounters">Compteur actifs.</param>
        /// <param name="axis">Axe.</param>
        private static void CreateCsvAxis(IHyperCube hyperCube, Context context, TextWriter writer, Dictionary <string, string> activeCounters, string axis)
        {
            CounterCubeCriteria criteria = new CounterCubeCriteria(axis, TimeLevel.Hour);
            CubeKey             key      = criteria.CreateCubeKey(context.EndDate);
            ICube cube = hyperCube.GetCube(key);

            if (cube != null && IsShown(context.EndDate, context.Filtre, hyperCube, criteria))
            {
                writer.Write(axis);
                writer.Write(";");

                double total = cube.GetCounter(Analytics.ElapsedTime).GetValue(CounterStatType.Total);
                writer.Write(Convert.ToString(total, CultureInfo.CurrentCulture));
                writer.Write(";");

                double hits = cube.GetCounter(Analytics.ElapsedTime).GetValue(CounterStatType.Hits);
                writer.Write(Convert.ToString(hits, CultureInfo.CurrentCulture));
                writer.Write(";");

                double avg;
                foreach (ICounterDefinition definition in hyperCube.AllDefinitions)
                {
                    if (activeCounters.ContainsKey(definition.Code))
                    {
                        ICounter counter = cube.GetCounter(definition.Code);
                        avg = (counter != null) ? counter.GetValue(CounterStatType.Avg) : 0;
                        writer.Write(string.Format(CultureInfo.CurrentCulture, "{0:0.##}", avg));
                        writer.Write(";");
                    }
                }

                writer.WriteLine();
            }
        }
Пример #4
0
    void Start()
    {
        systemScript = GetComponent <centralSystem>();
        GameObject obj;

        for (int m = 0; m < systemScript.textSet.GetLength(0); m++)
        {
            for (int n = 0; n < systemScript.textSet.GetLength(1); n++)
            {
                obj = new GameObject(m.ToString() + n.ToString("D2"));
                CubeKey CK = obj.AddComponent <CubeKey>();
                CK.myPosition = new Vector3(keyPosX1(n), keyPosY1(m), 0);
            }
        }
    }
Пример #5
0
 /// <summary>
 /// Crée une nouvelle instance.
 /// </summary>
 /// <param name="databaseName">Nom de la base.</param>
 /// <param name="key">Clef.</param>
 internal ExternalCube(string databaseName, CubeKey key)
 {
     _databaseName = databaseName;
     _key          = key;
 }