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);
 }
Пример #2
0
        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);
            }
        }