Example #1
0
        /// <summary>
        /// Производит форматирование ячейки таблицы
        /// </summary>
        /// <param name="profile">Профиль</param>
        /// <param name="data">Набор исходных данных для форматировщика</param>
        protected override void DoExecute(abstractformatterClass profile, ReportFormatterData data)
        {
            // если нет значения, ничего не делаем
            string sValue = data.CurrentValue as string;

            if (sValue == null || sValue == string.Empty)
            {
                return;
            }
            int nValue = 0;

            nValue = Convert.ToInt32(sValue);

            // типизированный профиль
            durationevaluatorClass durationEvaluatorProfile = (durationevaluatorClass)profile;
            MacroProcessor         processor = new MacroProcessor(data, true);

            // получим формат отображения
            Format format = (Format)processInt(durationEvaluatorProfile.format, (int)Format.DaysHoursMinutes, processor);

            // установим текущее значение в зависимости от формата
            switch (format)
            {
            case Format.DaysHoursMinutes:
                // продолжительность рабочего дня в минутах
                // ВНИМАНИЕ!!! Если не задана, считаем, что 600
                int workdayDuration = processInt(durationEvaluatorProfile.workdayDuration, 600, processor);
                data.CurrentValue = Utils.FormatTimeDuration(nValue, workdayDuration);
                break;

            case Format.Hours:
                data.CurrentValue = string.Format("{0:0.##}", nValue / 60.0);
                break;
            }
        }
Example #2
0
        /// <summary>
        /// Производит форматирование ячейки таблицы
        /// </summary>
        /// <param name="profile">Профиль</param>
        /// <param name="data">Набор исходных данных для форматировщика</param>
        protected override void DoExecute(abstractformatterClass profile, ReportFormatterData data)
        {
            // если нет значения, ничего не делаем
            if (null == data.CurrentValue)
            {
                return;
            }
            string sValue;

            data.CurrentValue = (sValue = "" + data.CurrentValue);
            if (sValue.Length == 0)
            {
                return;
            }
            // типизированный профиль
            //bigtextevaluatorClass durationEvaluatorProfile = (bigtextevaluatorClass) profile;
            data.CurrentValue = CustomITrackerReport._LongText(sValue);
        }