private void ReadTotals()
    {
        gridData = CsvFileReader.ReadAll(csvPath + csvTotalsFile, System.Text.Encoding.GetEncoding("gbk"));

        for (int i = 0; i < gridData.Count; i++)
        {
            for (int j = 0; j < gridData[i].Count; j++)
            {
                var value = gridData[i][j];
                if (i == 0)
                {
                    columnIds.Add(value);
                }

                if (j % gridData.Count == 0)
                {
                    rowIds.Add(value);
                }

                if (IsNumeric(value))
                {
                    Totals.Add(int.Parse(value));
                }
            }
        }
    }
Пример #2
0
 /// <inheritdoc/>
 public void AddChild(Base child)
 {
     if (child is DataConnectionBase)
     {
         Connections.Add(child as DataConnectionBase);
     }
     else if (child is DataSourceBase)
     {
         DataSources.Add(child as DataSourceBase);
     }
     else if (child is Relation)
     {
         Relations.Add(child as Relation);
     }
     else if (child is Parameter)
     {
         Parameters.Add(child as Parameter);
     }
     else if (child is Total)
     {
         Totals.Add(child as Total);
     }
     else if (child is CubeSourceBase)
     {
         CubeSources.Add(child as CubeSourceBase);
     }
 }
Пример #3
0
        public void EvaluateTotals()
        {
            if (!SubTotals.Any()) // SubTotals need to be evaluated beforehand
            {
                EvaluateSubTotals();
            }

            Totals.Clear();

            for (var index = 0; index <= _diffMonths; index++)
            {
                var period        = _from.AddMonths(index);
                var ordersInMonth = _orders.Where(IsInMonth(period.Month));

                Totals.Add(ordersInMonth.Sum(order => order.OrderTotal));
            }
        }