Пример #1
0
        public System.Xml.XmlDocument OpenData(IDataIdentifier id, IDataFilter filter)
        {
            //TODO - Review this later.
            string dataFilterTemplate = dataXPathTemplate[filter.TemplateName].Template;
            string selection          = dataFilterTemplate.Replace(SelectionPlaceholder, ((GuidIdentifier)id).ID.ToString());

            return(GetXmlDocument(GetXml(filter.GetFilterExpression(selection))));
        }
Пример #2
0
        private XmlDocument GetXml(string filterTemplate, IDataFilter filter)
        {
            SqlConnection connection = new SqlConnection(connString);
            SqlCommand    command    = new SqlCommand(filterTemplate, connection);

            command.CommandTimeout = 120;
            command.CommandType    = System.Data.CommandType.StoredProcedure;
            string        filterExpression = filter.GetFilterExpression(filterTemplate);
            XmlSerializer s = new XmlSerializer(typeof(List <SQLDataFilterParameter>));
            List <SQLDataFilterParameter> filterParameters = (List <SQLDataFilterParameter>)s.Deserialize(new StringReader(filterExpression));

            foreach (SQLDataFilterParameter filterParameter in filterParameters)
            {
                SqlParameter parameter = new SqlParameter();
                parameter.ParameterName = "@" + filterParameter.Name;
                if (filterParameter.Value != null && filterParameter.Value != string.Empty)
                {
                    parameter.DbType = filterParameter.Type;
                    parameter.Value  = NullFinder.Parse(filterParameter.Value, filterParameter.ValueType);
                }
                //parameter.Size = filterParameter.Size;
                parameter.Direction  = filterParameter.Direction;
                parameter.IsNullable = true;
                //parameter.Precision = filterParameter.Precision;
                //parameter.Scale = filterParameter.Scale;
                command.Parameters.Add(parameter);
            }
            connection.Open();

            XmlReader   reader   = command.ExecuteXmlReader();
            XmlDocument document = new XmlDocument();

            document.Load(reader);
            reader.Close();
            connection.Close();
            return(document);

            //Stream xmlStream = File.OpenRead(connString.Trim());
            //return XmlReader.Create(xmlStream);
        }
Пример #3
0
        public List <IDataIdentifier> GetCatalog(IDataFilter filter)
        {
            string catalogFilterTemplate = catalogXPathTemplate[filter.TemplateName].Template;

            return(GetCatalog(GetXml(filter.GetFilterExpression(catalogFilterTemplate))));
        }