public void Set(string columnName, object value, ICellMapper cellMapper = null) { if (cellMapper != null) { value = cellMapper.Map(new Cell(value)).RawValue; } GetDataRow()[columnName] = value; }
public ShowGameStateService(IConvertCharService charService, IConsole console, IBattleshipsConfiguration configuration, ICellMapper mapper) { _charService = charService; _console = console; _configuration = configuration; _mapper = mapper; }
public BattleshipStateBuilder(IReadUserGuess guessReader, IBattleshipsConfiguration configuration, IDetectColisionService detectCollisionService, ICellMapper mapper, IRandom randomService) { _guessReader = guessReader; _configuration = configuration; _detectCollisionService = detectCollisionService; _mapper = mapper; _random = randomService; }
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)); } }
protected void RowsDateDiff(string aName, string bName, string resultName, bool addToEstimationTable = true, ICellMapper resultMapper = null) { tables.CalcsHydro.IterateRows(row => { row.Set(resultName, DateDiff(row, aName, bName), resultMapper); }, resultName); if (!addToEstimationTable) { return; } tables.ResultEstimation.Column(resultName) .SetDataFrom(tables.CalcsHydro.Column(resultName)); }
public void Set(int index, object value, ICellMapper cellMapper) { value = cellMapper.Map(new Cell(value)).RawValue; Table.DataTable.Rows[index][Name] = value; }
public static void RestoreColumn(TableProcessing.Table coeffsTable, Column xCol, Column yCol, ICellMapper resultMapper, string equationName, bool needPlusA = true) { var count = xCol.Height; var xDoubles = new List <double>(); var yDoubles = new List <double>(); for (var i = 0; i < count; i++) { if (!xCol[i].IsEmpty && !yCol[i].IsEmpty) { xDoubles.Add(xCol[i].DoubleValue); yDoubles.Add(yCol[i].DoubleValue); } } var restoredColumn = yCol.Table.Column(yCol.Name + "_Restored"); var usedColumn = yCol.Table.Column(yCol.Name + "_Used"); if (xDoubles.Count < 2) { return; } var p = Fit.Line(xDoubles.ToArray(), yDoubles.ToArray()); // y = a + b*x var coeffMapper = new RoundDoubleCellMapper(6); var a = 0.0; if (needPlusA) { a = p.Item1; } var b = p.Item2; var aValue = ""; if (needPlusA) { aValue = coeffMapper.Map(new Cell(a)).StringValue; } coeffsTable.DataTable.Rows.Add(equationName, aValue, coeffMapper.Map(new Cell(b)).StringValue); for (var i = 0; i < count; i++) { if (!xCol[i].IsEmpty) { var restoredValue = a + b * xCol[i].DoubleValue; restoredColumn.Set(i, restoredValue, resultMapper); usedColumn.Set(i, yCol[i].IsEmpty ? restoredColumn[i] : yCol[i]); } } }