private string Calc(ValueSelection value) { var accM = PollutionBase_Class.AccurateMeasurements.FirstOrDefault(x => x.PollutionID == value.Pollution.ID && value.Value >= x.From && value.Value <= x.To); decimal result = value.Value * 0.01m * (accM != null ? accM.Value : 0); return($"{value.ValueRound} ± {Math.Round(result, 4)}"); }
private List <MyTools.C_ValueCell> GetResolution(ValueSelection one, string resolutionName, int row, int Col1, int Col2, int Col3) { Resolution resolution = PollutionBase_Class.AllResolution.First(x => x.CurtName.Contains(resolutionName)); List <MyTools.C_ValueCell> result = new List <MyTools.C_ValueCell>(); decimal value = 0; if (obj.CanResolution(resolution.ID)) { uint IDUnit = resolution.CurtName.Contains("621") ? one.SelectionWell.Well.UnitID : 0; ValueNorm VN = PollutionBase_Class.GetValueNorm(resolution.ID, one.Pollution.ID, IDUnit); if (VN != null) { if (one.Pollution.HasRange) { if (VN.FromRound > 0 && VN.ToRound > 0) { result.Add(new MyTools.C_ValueCell($"{VN.FromRound.KillZero()}-{VN.ToRound.KillZero()}", row, Col1)); } } else { var toValue = VN.ToRound; if (toValue > 0) { table.value.Add(new MyTools.C_ValueCell(VN.ToRound.KillZero(), row, Col1)); value = (decimal)MonthVolume * VN.To; if (value > 0) { table.value.Add(new MyTools.C_ValueCell(value.ToMath(6, 4, 1), row, Col2, style: Styles.s_RLTB_RC_T10_W)); } value = Math.Round(one.Value / VN.To, 1); if (value > 1) { table.value.Add(new MyTools.C_ValueCell(value.ToMoney(null, 1), row, Col3)); } } } } } return(result); }