public FinanceReportColumnDefinition(string columnDefinition)
        {
            if (columnDefinition == null)
            {
                throw new ArgumentNullException("columnDefinition");
            }

            DateTime date;

            if (DateTime.TryParse(columnDefinition, out date))
            {
                Type = ColumnType.Date;
                _columnDefinition = date;
                HasUnit           = false;
            }
            else
            {
                Type = ColumnType.Text;

                string cleanedColumnDefinition;
                HasUnit = FinanceReportHelper.ParseDefinitionAndUnit(columnDefinition, 1.0M, out cleanedColumnDefinition, out _unit);

                _columnDefinition = cleanedColumnDefinition;
            }
        }
Example #2
0
        public FinanceReportRow(string name, ICollection <FinanceReportColumnDefinition> columnDefinitions, decimal defaultUnit)
        {
            if (columnDefinitions == null || columnDefinitions.Count == 0)
            {
                throw new ArgumentNullException("columnDefinitions");
            }

            _cells = new FinanceReportCell[columnDefinitions.Count];
            for (var i = 0; i < _cells.Length; ++i)
            {
                _cells[i] = new FinanceReportCell();
            }

            string  cleanedName;
            decimal unit;

            FinanceReportHelper.ParseDefinitionAndUnit(name, defaultUnit, out cleanedName, out unit);

            Unit = unit;
            Name = cleanedName;
        }
        public FinanceReportTable(string name, string rowDefinition, string[] columnDefinitions)
        {
            if (columnDefinitions == null || columnDefinitions.Length == 0)
            {
                throw new ArgumentNullException("columnDefinitions");
            }

            _columnDefinitions = new FinanceReportColumnDefinition[columnDefinitions.Length];
            for (int i = 0; i < _columnDefinitions.Length; ++i)
            {
                _columnDefinitions[i] = new FinanceReportColumnDefinition(columnDefinitions[i]);
            }

            Name = name;

            string  cleanedRowDefinition;
            decimal unit;

            FinanceReportHelper.ParseDefinitionAndUnit(rowDefinition, 1.0M, out cleanedRowDefinition, out unit);

            Unit          = unit;
            RowDefinition = cleanedRowDefinition;
        }