Witam.
Piszę w tym momencie aplikację które głównie będzie wyświetlała dane. Użyłem EF do wyświetlania danych i napiałem metodę która wyciąga dane do datagridview. Na podstawie tej metody chciałbym stworzyć wyszukiwanie dokumentów WZ za pomocą textboxa. Ogólnie to się udało ale wiem że obie te metody da się jakoś przerobić na krótsze.
Ogólnie to metoda getdata() :
public void getdata()
{
EntitiesSito db = new EntitiesSito();
var query = (from d in db.WZ_DWS_SITO
orderby d.WZ_DATA descending
group d by new { d.WZ, d.KUNNR, d.WZ_DATA } into grp
select new
{
grp.Key.WZ,
grp.Key.KUNNR,
grp.Key.WZ_DATA,
MATERIAL = grp.Count(),
}).ToList();
datagridview.ItemsSource = query;
}
Ma zwracać dane dotyczące dokumentów WZ do tego stworzyłem również event TEXBOXCHANGED który w momencie pojawienia sie tekstu wyszukuje WZ po ich numerze ale tak naprawdę różni sie ona tylko tym że w zapytaniu LINQ dodaję where coś tam. Nie znam się więc proszę o pomoc i wyjaśnienie jak mógłbym przerobić tą metodę getdata() aby następnie mógłbym w krótszej postaci użyć jej do mojej metody wyszukującej. Dobrze byłoby również wytłumaczenie mi koncepcji tworzenia takich metod jako że jestem początkujący i nie do końca ogarniam jeszcze myślenie koncepcyjne jeżeli chodzi o pisanie kodu.
Poniżej metoda dotyczące zmiany tekstu w texboxie :
private void filtertxbox_TextChanged(object sender, TextChangedEventArgs e)
{
string numberofWZ = filtertxbox.Text;
if (string.IsNullOrEmpty(numberofWZ) )
{
getdata();
}
else
{
EntitiesSito db = new EntitiesSito();
var query2 = (from a in db.WZ_DWS_SITO
where a.WZ.Contains(numberofWZ)
orderby a.WZ_DATA descending
group a by new { a.WZ, a.KUNNR, a.WZ_DATA } into grp
select new
{
grp.Key.WZ,
grp.Key.KUNNR,
grp.Key.WZ_DATA,
MATERIAL = grp.Count(),
}).ToList();
datagridview.ItemsSource = query2;
}
}