Exemple #1
0
        public void Set(string columnName, object value, ICellMapper cellMapper = null)
        {
            if (cellMapper != null)
            {
                value = cellMapper.Map(new Cell(value)).RawValue;
            }

            GetDataRow()[columnName] = value;
        }
Exemple #2
0
        public static void CalcMeteoAvg(List <Row> meteoRows, string meteoColumnName,
                                        TableProcessing.Table calcsHydroTable, string hydroColumnName,
                                        ICellMapper cellMapper, params TableProcessing.Table[] resultTables)
        {
            var valuesColumnName = meteoColumnName + "_Values";


            calcsHydroTable.IterateRows(hydroRow =>
            {
                var intList = hydroRow["OI_METEO"].ToIntList();

                double number = 0;

                var realMeteoColumnName = meteoColumnName;

                if (meteoColumnName.StartsWith("&"))
                {
                    var hydroPtr        = meteoColumnName.Substring(1);
                    realMeteoColumnName = hydroRow[hydroPtr].StringValue;
                }

                Etc.NoThrow(() =>
                {
                    var doubleQuery = from meteoRow in meteoRows
                                      where intList.Contains(meteoRow["OI_Meteo"].IntValue) &&
                                      double.TryParse(
                        meteoRow[realMeteoColumnName].StringValue, out number)
                                      select number;

                    var enumerable = doubleQuery.ToList();

                    var strQuery = from dbl in enumerable
                                   select cellMapper.Map(new Cell(dbl)).StringValue;

                    var res = string.Join(";", strQuery.ToArray());

                    hydroRow.Set(valuesColumnName, res);

                    hydroRow.Set(hydroColumnName,
                                 enumerable.Average(), cellMapper);
                });
            }, valuesColumnName, hydroColumnName);

            foreach (var table in resultTables)
            {
                table.AddColumn(calcsHydroTable.Column(hydroColumnName));
            }
        }
Exemple #3
0
        public void Set(int index, object value, ICellMapper cellMapper)
        {
            value = cellMapper.Map(new Cell(value)).RawValue;

            Table.DataTable.Rows[index][Name] = value;
        }