private void AžurirajDjelatnikeProjekta(int idProjekt) { List <Djelatnik> djelatniciNaProjektu = new List <Djelatnik>(); djelatniciNaProjektu.AddRange(Repozitorij.GetDjelatniciNaProjektu(idProjekt)); List <Djelatnik> djelatniciZaDodati = privremeniDjelatnici; List <Djelatnik> djelatniciZaUkloniti = new List <Djelatnik>(); List <Djelatnik> djelatniciNaProjektimaKojiOstaju = new List <Djelatnik>(); foreach (Djelatnik djelatnik in djelatniciNaProjektu) { var djelatnikKojiOstaje = privremeniDjelatnici.Find(x => x.IDDjelatnik == djelatnik.IDDjelatnik); if (djelatnikKojiOstaje != null) { djelatniciNaProjektimaKojiOstaju.Add(djelatnikKojiOstaje); } } foreach (Djelatnik djelatnik in djelatniciNaProjektu) { var djelatnikKojiNeOstaje = djelatniciNaProjektimaKojiOstaju.Find(x => x.IDDjelatnik == djelatnik.IDDjelatnik); if (djelatnikKojiNeOstaje == null) { djelatniciZaUkloniti.Add(djelatnik); } } foreach (Djelatnik djelatnik in djelatniciNaProjektu) { var itemZaBrisanje = djelatniciZaDodati.Find(x => x.IDDjelatnik == djelatnik.IDDjelatnik); if (itemZaBrisanje != null) { djelatniciZaDodati.Remove(itemZaBrisanje); } } if (djelatniciZaDodati.Count != 0) { foreach (Djelatnik djelatnik in djelatniciZaDodati) { Repozitorij.InsertProjektDjelatnik(djelatnik.IDDjelatnik, idProjekt); } } if (djelatniciZaUkloniti.Count != 0) { foreach (Djelatnik djelatnik in djelatniciZaUkloniti) { if (djelatnik.IDDjelatnik == int.Parse(ddlVoditeljProjekta.SelectedValue)) { lblError.Text = "Nije moguće obrisati djelatnika koji je voditelj tima"; } else { Repozitorij.DeleteProjektDjelatnik(djelatnik.IDDjelatnik, idProjekt); } } } }
private void AžurirajProjekteDjelatnika(int iDDjelatnik) { List <Projekt> projektiDjelatnika = new List <Projekt>(); projektiDjelatnika.AddRange(Repozitorij.GetProjektiDjelatnika(iDDjelatnik)); List <Projekt> projektiZaDodati = privremeniProjekti; List <Projekt> projektiZaUkloniti = new List <Projekt>(); List <Projekt> projektiDjelatnikaKojiOstaju = new List <Projekt>(); foreach (Projekt projekt in projektiDjelatnika) { var projektKojiOstaje = privremeniProjekti.Find(x => x.IDProjekt == projekt.IDProjekt); if (projektKojiOstaje != null) { projektiDjelatnikaKojiOstaju.Add(projektKojiOstaje); } } foreach (Projekt projekt in projektiDjelatnika) { var projektKojiNeOstaje = projektiDjelatnikaKojiOstaju.Find(x => x.IDProjekt == projekt.IDProjekt); if (projektKojiNeOstaje == null) { projektiZaUkloniti.Add(projekt); } } foreach (Projekt projekt in projektiDjelatnika) { var itemZaBrisanje = projektiZaDodati.Find(x => x.IDProjekt == projekt.IDProjekt); if (itemZaBrisanje != null) { projektiZaDodati.Remove(itemZaBrisanje); } } if (projektiZaDodati.Count != 0) { foreach (Projekt projekt in projektiZaDodati) { Repozitorij.InsertProjektDjelatnik(iDDjelatnik, projekt.IDProjekt); } } if (projektiZaUkloniti.Count != 0) { foreach (Projekt projekt in projektiZaUkloniti) { Repozitorij.DeleteProjektDjelatnik(iDDjelatnik, projekt.IDProjekt); } } }