private void Calc_kY() { var coeffsArr = Enumerable.Range(0, 12) .Select(i => "b" + i) .ToArray(); CalcUtils.CopyCoeffs("OI_RnY", tables.BazaInfoHydro, tables.BazaInfoCoeffs, tables.CalcsHydro, coeffsArr); tables.CalcsHydro.IterateRows(row => { int offset; if (row["DF1"].DoubleValue > 0.5) { offset = 0; } else if (row["DF1"].DoubleValue <= 0.5 && row["DF2"].DoubleValue >= 0.5) { offset = 4; } else if (row["DF1"].DoubleValue < 0.5 && row["DF2"].DoubleValue < 0.5) { offset = 8; } else { throw new Exception( "Страница 9: Ни одно из условий не соблюдается"); } var res = CalcUtils.BlockE_Func_Calc_1_3( row[coeffsArr[0 + offset]].DoubleValue, row[coeffsArr[1 + offset]].DoubleValue, row[coeffsArr[2 + offset]].DoubleValue, row[coeffsArr[3 + offset]].DoubleValue, row["kXB"].DoubleValue); row.Set("kY", res, CellMapper.Rounder2); }, "kY"); tables.Result.AddColumn(tables.CalcsHydro.Column("kY")); }