Witam, mam dwie kolekcje:
var umiejetnosci_prac = (from s in Dc.Umiejętnośc_Pracowniks
where
(prac.ID_pracownika == s.ID_pracownika) &&
(id_prac_spelniajacych.Contains(s.ID_pracownika))
select s);
//Umiejętnośc_Pracowniks zawiera pola ID_pracownika, Ocena,ID_umiejetnosci.
// w tabeli Zadanie_Umiejetnoscs występują pola ID_Zadania, Ocena, ID_umiejetnosci.
var lista_wymagan = (from s in Dc.Zadanie_Umiejetnoscs where s.ID_Zadania == id_zad select s);
no i teraz lista_wymagan zawiera ID_umiejetnosci i Ocene np. Angielski(ID 2) na 3, spawanie(ID 8) na 4
a umiejetnosci_prac zawiera też ID_umiejetnosci i Ocene np. Angielski(ID 2) na 5, murowanie(ID 9) na 4
Chciałem te dwie kolekcje porównac tzn. wartość Oceny z lista_wymagan z wartością Oceny z umiejetnosci_prac. Rozumiem że powyżej to są tylko zapytania LINQ i w nich na razie nie jest nic wykonywane. Nie wiem jak dobrać się do pól kolekcji, wyczytałem że przez foreach.
Może ktoś pomoże? Próbuje coś takiego
foreach(var o in lista_wymagan) //teraz mam dostęp do pola Ocena w tej kolekcji
{
foreach (var c in umiejetnosci_prac)//teraz mam dostęp do pola Ocena w tej kolekcji
{
if (c.Ocena >= o.Ocena.Where(s => o.ID_umiejetnosci == c.ID_umiejętności))// to niedziała oczywiście i nie wiem jak to poprawic
{ }
else
{
id_prac_spelniajacych.Remove(prac.ID_pracownika);
}
}
}
cała ta konstrukcja jest kulawa ale nie wiem jak to rozwiązać. Co chce uzyskać?...Chce sprawdzić czy Ocena umiejętności w kolekcji umiejetnosci_prac jest większa bądź równa Ocenie tej samej umiejętności w kolekcji lista_wymagan jeśli nie to usuwam ją z listy. Ktos wie jak to powinno wyglądać by miało ręce i nogi?