// SELECT /// <summary> /// Pobiera listę osób /// </summary> /// <param name="start"></param> /// <param name="take"></param> /// <param name="textForSearching"></param> /// <returns> /// List<PersonModel> /// </returns> public static List <PersonModel> Get(int start, int take, string textForSearching = null) { var personList = new List <PersonModel>(); using (var connection = SqlConnectionHelper.GetConnection()) { var sqlCommand = new SqlCommand(); sqlCommand.Connection = connection; // Bez parametru if (string.IsNullOrWhiteSpace(textForSearching)) { sqlCommand.CommandText = "SELECT * FROM People ORDER BY ID OFFSET @Start ROWS FETCH NEXT @Take ROWS ONLY;"; } // Z parametrem w postaci nazwiska osoby else { sqlCommand.CommandText = "SELECT * FROM People WHERE LastName Like @Search ORDER BY ID OFFSET @Start ROWS FETCH NEXT @Take ROWS ONLY;"; AddTextForSearchingParam(sqlCommand, textForSearching); } // Dodanie Parametrów AddStartAndTakeParam(sqlCommand, start, take); // Zapytanie SqlDataReader data = sqlCommand.ExecuteReader(); // Uzupełnienie listy while (data.HasRows && data.Read()) { // Dla daty będącej null-em if (data["Updated"] == DBNull.Value) { personList.Add(new PersonModel( (int)data["ID"], data["FirstName"].ToString(), data["LastName"].ToString(), data["Phone"].ToString(), data["Email"].ToString(), (DateTime)data["Created"], null )); } // Dla daty, która nie jest null-em else { personList.Add(new PersonModel( (int)data["ID"], data["FirstName"].ToString(), data["LastName"].ToString(), data["Phone"].ToString(), data["Email"].ToString(), (DateTime)data["Created"], (DateTime)data["Updated"] )); } } } return(personList); }