private void SetParametersValues(string applianceId) { ReportParameter applianceParam = new ReportParameter(); ReportParameter temperatureParam = new ReportParameter(); ReportParameter RHParam = new ReportParameter(); ReportParameter diffPressureParam = new ReportParameter(); IRepository<Appliance> dbA = new ApplianceRepository(); IRepository<SignalAppliance> dbSA = new SignalApplianceRepository(); IRepository<SignalApplianceValue> dbSAV = new SignalApplianceValueRepository(); applianceParam = new ReportParameter("ApplianceParam", "N/A"); temperatureParam = new ReportParameter("TemperatureParam", "0"); RHParam = new ReportParameter("RHParam", "0"); diffPressureParam = new ReportParameter("DiffPressureParam", "0"); Appliance appliance = dbA.GetById(int.Parse(applianceId)); if (appliance == null) { if (int.Parse(applianceId) < 0) { applianceParam = new ReportParameter("ApplianceParam", "TODOS"); temperatureParam = new ReportParameter("TemperatureParam", "Todos"); RHParam = new ReportParameter("RHParam", "Todos"); diffPressureParam = new ReportParameter("DiffPressureParam", "Todos"); } } else { applianceParam = new ReportParameter("ApplianceParam", appliance.NameAppliance); var arrayDiffPressureParam = new ArrayList(); var arrayTemperatureParam = new ArrayList(); var arrayRHParam = new ArrayList(); Dictionary<string, object> properties = new Dictionary<string, object>(); properties.Add("Appliance.Id", int.Parse(applianceId)); IList<SignalAppliance> signalApplianceList = dbSA.GetByProperties(properties); foreach (var signalAppliance in signalApplianceList) { Dictionary<string, object> propertiesSA = new Dictionary<string, object>(); propertiesSA.Add("SignalAppliance.Id", signalAppliance.Id); propertiesSA.Add("AlarmType.Id", int.Parse(ConfigurationManager.AppSettings["NormalAlarmId"])); IList<SignalApplianceValue> signalApplianceValueList = dbSAV.GetByProperties(propertiesSA); foreach (var signalApplianceValue in signalApplianceValueList.OrderByDescending(o => o.Value)) { if (signalAppliance.Signal.Id == SMCLSignals.DifferentialPressure) { arrayDiffPressureParam.Add(signalApplianceValue.Value); arrayDiffPressureParam.Add(signalAppliance.Tolerance); } if (signalAppliance.Signal.Id == SMCLSignals.Temperature) { arrayTemperatureParam.Add(signalApplianceValue.Value); arrayTemperatureParam.Add(signalAppliance.Tolerance); } if (signalAppliance.Signal.Id == SMCLSignals.RH) { arrayRHParam.Add(signalApplianceValue.Value); arrayRHParam.Add(signalAppliance.Tolerance); } } } if (arrayDiffPressureParam.Count > 0) { diffPressureParam = new ReportParameter("DiffPressureParam", arrayDiffPressureParam[0].ToString() + " ± " + arrayDiffPressureParam[1].ToString() + " " + ConfigurationManager.AppSettings["InchesOfWater"]); } if (arrayTemperatureParam.Count > 0) { temperatureParam = new ReportParameter("TemperatureParam", arrayTemperatureParam[0].ToString() + " ± " + arrayTemperatureParam[1].ToString() + " " + ConfigurationManager.AppSettings["DegreeCelsius"]); } if (arrayRHParam.Count > 0) { RHParam = new ReportParameter("RHParam", arrayRHParam[0].ToString() + " ± " + arrayRHParam[1].ToString() + " " + ConfigurationManager.AppSettings["Percentage"]); } } ReportParameterCollection parameters = new ReportParameterCollection(); parameters.Add(applianceParam); parameters.Add(temperatureParam); parameters.Add(RHParam); parameters.Add(diffPressureParam); ReportViewer1.LocalReport.SetParameters(parameters); }