示例#1
0
        internal List <Person> FindByName(string value)
        {
            List <Person> persons = new List <Person>();

            SeparatorDictionary separatorDictionary = new SeparatorDictionary();

            if (value.Contains(','))
            {
                Separator sp         = separatorDictionary.GetSeparator(',');
                string[]  valArr     = sp.Separate(value);
                string    nameArr    = valArr[1];
                string    surnameArr = valArr[0];

                using (SqlConnection connection = new SqlConnection())
                {
                    connection.ConnectionString = connection.ConnectionString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString; //@"Server = RFTALIPOV\MSSQL2016;
                    //Initial Catalog = AdventureWorks;" + "Integrated Security = SSPI; Pooling = False";
                    connection.Open();

                    string sqlExpression = "SELECT FirstName, LastName " +
                                           "FROM [Person].[Person] where FirstName Like @nameArr order by FirstName , LastName";
                    SqlCommand command = new SqlCommand(sqlExpression, connection);

                    command.Parameters.AddWithValue("@nameArr", "%" + nameArr + "%");

                    SqlDataReader reader = command.ExecuteReader();

                    if (reader.HasRows)       // если есть данные
                    {
                        while (reader.Read()) // построчно считываем данные
                        {
                            object name     = reader.GetValue(0);
                            object lastName = reader.GetValue(1);

                            persons.Add(new Person {
                                Name = name.ToString(), Surname = lastName.ToString()
                            });                                                                                //add founded person
                        }
                    }
                    reader.Close();
                    return(persons);
                }
            }
            if (value.Contains(" "))
            {
                Separator sp         = separatorDictionary.GetSeparator(' ');
                string[]  valArr     = sp.Separate(value);
                string    nameArr    = valArr[1];
                string    surnameArr = valArr[0];

                using (SqlConnection connection = new SqlConnection())
                {
                    connection.ConnectionString = connection.ConnectionString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString; //@"Server = RFTALIPOV\MSSQL2016;
                    //Initial Catalog = AdventureWorks;" + "Integrated Security = SSPI; Pooling = False";
                    connection.Open();

                    string sqlExpression = "SELECT FirstName, LastName " +
                                           "FROM [Person].[Person] where FirstName Like @nameArr order by FirstName , LastName";
                    SqlCommand command = new SqlCommand(sqlExpression, connection);

                    command.Parameters.AddWithValue("@nameArr", "%" + nameArr + "%");

                    SqlDataReader reader = command.ExecuteReader();

                    if (reader.HasRows)       // если есть данные
                    {
                        while (reader.Read()) // построчно считываем данные
                        {
                            object name     = reader.GetValue(0);
                            object lastName = reader.GetValue(1);

                            persons.Add(new Person {
                                Name = name.ToString(), Surname = lastName.ToString()
                            });                                                                                //add founded person
                        }
                    }
                    reader.Close();
                    return(persons);
                }
            }

            using (SqlConnection connection = new SqlConnection())
            {
                connection.ConnectionString = connection.ConnectionString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString; //@"Server = RFTALIPOV\MSSQL2016;
                //Initial Catalog = AdventureWorks;" + "Integrated Security = SSPI; Pooling = False";
                connection.Open();

                string sqlExpression = "SELECT FirstName, LastName " +
                                       "FROM [Person].[Person] where FirstName Like @value order by FirstName , LastName";
                SqlCommand command = new SqlCommand(sqlExpression, connection);

                command.Parameters.AddWithValue("@value", "%" + value + "%");

                SqlDataReader reader = command.ExecuteReader();

                if (reader.HasRows)       // если есть данные
                {
                    while (reader.Read()) // построчно считываем данные
                    {
                        object name     = reader.GetValue(0);
                        object lastName = reader.GetValue(1);

                        persons.Add(new Person {
                            Name = name.ToString(), Surname = lastName.ToString()
                        });                                                                                //add founded person
                    }
                }
                reader.Close();
                return(persons);
            }
        }
 public void Add(char c, Separator s)
 {
     dict.Add(c, s);
 }