private static Emdat.InVision.SSRS.ParameterValue GetParameterValueFromXElement(XElement e) { Emdat.InVision.SSRS.ParameterValue pv = null; using (XmlReader xr = e.CreateReader()) { pv = _parameterValueSerializer.Deserialize(xr) as Emdat.InVision.SSRS.ParameterValue; xr.Close(); } return(pv); }
private static string GetParameterValueFromExpression(Emdat.InVision.SSRS.ReportParameter r, Emdat.InVision.SSRS.ParameterValue v, DateTime sourceDate) { if (v == null || string.IsNullOrEmpty(v.Value)) { return(null); } if (r.Type == Emdat.InVision.SSRS.ParameterTypeEnum.DateTime) { DateTime?dt = DateTimeExpression.Evaluate(v.Value, sourceDate); return(dt.HasValue ? dt.Value.ToString("yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture) : null); } else if (r.Type == Emdat.InVision.SSRS.ParameterTypeEnum.String && r.Name.EndsWith("Time", StringComparison.InvariantCultureIgnoreCase)) { if (string.IsNullOrEmpty(v.Value)) { return(v.Value); } DateTime dt; if (DateTime.TryParseExact(v.Value, Report.TimeFormats, null, DateTimeStyles.None, out dt)) { return(dt.ToString("HH:mm")); } else { return(v.Value); } } else { return(v.Value); } }