public IEnumerable <IRedirect> LookupItem(string id) { List <Redirect> list = new List <Redirect>(); using (SqlConnection sqlConnection = new SqlConnection(LookupProvider.ConnectionString)) { sqlConnection.Open(); using (SqlCommand sqlCommand = new SqlCommand()) { sqlCommand.Parameters.Add(new SqlParameter("ResponseTargetId", DbType.Guid)); sqlCommand.Parameters["ResponseTargetId"].Value = new Guid(id); sqlCommand.CommandText = "SELECT * FROM Redirects WHERE ResponseTargetId = @ResponseTargetId"; sqlCommand.Connection = sqlConnection; SqlDataReader sqlDataReader = sqlCommand.ExecuteReader(); int ordinal = sqlDataReader.GetOrdinal("ResponseTargetId"); int ordinal2 = sqlDataReader.GetOrdinal("RequestPath"); int ordinal3 = sqlDataReader.GetOrdinal("ResponseStatusCode"); int ordinal4 = sqlDataReader.GetOrdinal("Sites"); //QUERYSTRINGSTUFF int ordinal5 = sqlDataReader.GetOrdinal("QueryString"); string queryString = string.Empty; //QUERYSTRINGSTUFF while (sqlDataReader.Read()) { //QUERYSTRINGSTUFF if (!sqlDataReader.IsDBNull(ordinal5)) { queryString = sqlDataReader.GetString(ordinal5); } else { queryString = string.Empty; } //QUERYSTRINGSTUFF //Redirect item = new Redirect(true, sqlDataReader.GetGuid(ordinal).ToString(), sqlDataReader.GetString(ordinal2), sqlDataReader.IsDBNull(ordinal4) ? null : sqlDataReader.GetString(ordinal4), sqlDataReader.GetInt32(ordinal3)); Redirect item = new Redirect(true, queryString, sqlDataReader.GetGuid(ordinal).ToString(), sqlDataReader.GetString(ordinal2), sqlDataReader.IsDBNull(ordinal4) ? null : sqlDataReader.GetString(ordinal4), sqlDataReader.GetInt32(ordinal3)); list.Add(item); } } } return(list.ToArray()); }
private static Dictionary <string, Redirect> LoadAll() { Dictionary <string, Redirect> dictionary = new Dictionary <string, Redirect>(StringComparer.OrdinalIgnoreCase); using (SqlConnection sqlConnection = new SqlConnection(LookupProvider.ConnectionString)) { sqlConnection.Open(); using (SqlCommand sqlCommand = new SqlCommand("SELECT * FROM Redirects", sqlConnection)) { SqlDataReader sqlDataReader = sqlCommand.ExecuteReader(); int ordinal = sqlDataReader.GetOrdinal("ResponseTargetId"); int ordinal2 = sqlDataReader.GetOrdinal("RequestPath"); int ordinal3 = sqlDataReader.GetOrdinal("ResponseStatusCode"); int ordinal4 = sqlDataReader.GetOrdinal("Sites"); //QUERYSTRINGSTUFF int ordinal5 = sqlDataReader.GetOrdinal("QueryString"); string queryString = string.Empty; //QUERYSTRINGSTUFF while (sqlDataReader.Read()) { //QUERYSTRINGSTUFF queryString = string.Empty; if (!sqlDataReader.IsDBNull(ordinal5)) { queryString = sqlDataReader.GetString(ordinal5); } //QUERYSTRINGSTUFF //Redirect redirect = new Redirect(true, sqlDataReader.GetGuid(ordinal).ToString(), sqlDataReader.GetString(ordinal2), sqlDataReader.IsDBNull(ordinal4) ? null : sqlDataReader.GetString(ordinal4), sqlDataReader.GetInt32(ordinal3)); Redirect redirect = new Redirect(true, queryString, sqlDataReader.GetGuid(ordinal).ToString(), sqlDataReader.GetString(ordinal2), sqlDataReader.IsDBNull(ordinal4) ? null : sqlDataReader.GetString(ordinal4), sqlDataReader.GetInt32(ordinal3)); if (!dictionary.ContainsKey(redirect.RequestPath)) { dictionary[redirect.RequestPath] = redirect; } else { Log.Warn(string.Format("RedirectManager Sql Provider duplicate request path skipped : {0}", redirect.RequestPath), typeof(LookupProvider)); } } } } return(dictionary); }