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