Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [OperationContract]
- Customer[] FindCustomers(string id, string name, string location, ...);
- #region
- using System;
- using System.Data;
- using System.Data.SqlClient;
- using System.Xml.Serialization;
- #endregion
- [Serializable]
- public class SQLParamSerializationWrapper
- {
- #region Constants and Fields
- private SqlParameter param;
- #endregion
- #region Constructors and Destructors
- public SQLParamSerializationWrapper()
- {
- //paramless constructor for serialization
- this.param = new SqlParameter();
- }
- public SQLParamSerializationWrapper(SqlParameter param)
- {
- this.SQLParam = param;
- }
- #endregion
- #region Properties
- public DbType DbType
- {
- get
- {
- return this.SQLParam.DbType;
- }
- set
- {
- this.SQLParam.DbType = value;
- }
- }
- public ParameterDirection Direction
- {
- get
- {
- return this.SQLParam.Direction;
- }
- set
- {
- this.SQLParam.Direction = value;
- }
- }
- public string ParameterName
- {
- get
- {
- return this.SQLParam.ParameterName;
- }
- set
- {
- this.SQLParam.ParameterName = value;
- }
- }
- [XmlIgnore]
- public SqlParameter SQLParam
- {
- get
- {
- return this.param;
- }
- set
- {
- this.param = value;
- }
- }
- public int Size
- {
- get
- {
- return this.SQLParam.Size;
- }
- set
- {
- this.SQLParam.Size = value;
- }
- }
- public object Value
- {
- get
- {
- return this.SQLParam.Value;
- }
- set
- {
- this.SQLParam.Value = value;
- }
- }
- #endregion
- }
- List<SQLParamSerializationWrapper> procParams = new List<SQLParamSerializationWrapper>();
- SqlParameter startdate = new SqlParameter("dateStart", new DateTime(2011, 9, 5));
- SqlParameter enddate = new SqlParameter("dateEnd", new DateTime(2011, 9, 6));
- SQLParamSerializationWrapper startDateWrapper = new SQLParamSerializationWrapper(startdate);
- SQLParamSerializationWrapper endDateWrapper = new SQLParamSerializationWrapper(enddate);
- procParams.Add(startDateWrapper);
- procParams.Add(endDateWrapper);
- string paramsAsXML = "";
- using (var sw = new StringWriter())
- {
- using (var xw = XmlWriter.Create(sw))
- {
- XmlSerializer xs = new XmlSerializer(procParams.GetType());
- xs.Serialize(xw, procParams);
- }
- paramsAsXML = sw.ToString();
- }
- var procParams = new List<SqlParameter>();
- StringReader sr = new StringReader(parm.Value);
- // Create an instance of the XmlSerializer specifying type.
- XmlSerializer deserializer = new XmlSerializer(typeof(List<SQLParamSerializationWrapper>));
- List<SQLParamSerializationWrapper> sqlParamWrapper = (List<SQLParamSerializationWrapper>)deserializer.Deserialize(sr);
- foreach (var param in sqlParamWrapper)
- {
- procParams.Add(param.SQLParam);
- }
Add Comment
Please, Sign In to add comment