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); }