public async Task <IActionResult> TeamsEdit(TeamEditModel tEM) { if (ModelState.IsValid) { _s16693context.Update(tEM.zespol); List <PracownikZespol> pracowniklist = new List <PracownikZespol>(); foreach (var item in tEM.pracowniks) { if (item.IsChecked == true) { var PZ = new PracownikZespol() { IdPracownik = item.Id, IdZespol = (int)tEM.zespol.IdZespol, DataPrzypisaniaPracownika = DateTime.Now }; _s16693context.Add(PZ); } } var dt = await _s16693context.PracownikZespol.Where(x => x.IdZespol == tEM.zespol.IdZespol).ToListAsync(); foreach (var item in dt) { _s16693context.PracownikZespol.Remove(item); await _s16693context.SaveChangesAsync(); } var idS = await _s16693context.PracownikZespol.Where(x => x.IdZespol == tEM.zespol.IdZespol).ToListAsync(); foreach (var item in pracowniklist) { if (idS.Contains(item)) { _s16693context.PracownikZespol.Add(item); await _s16693context.SaveChangesAsync(); } } await _s16693context.SaveChangesAsync(); return(RedirectToAction(nameof(Teams))); } else if (!ModelState.IsValid) { var allpracownik = await _s16693context.Pracownik .Include(o => o.IdPracownikNavigation) .Select(x => new CheckBoxItem() { Id = x.IdPracownik, Nazwa = x.IdPracownikNavigation.AdresEmail, IsChecked = x.PracownikZespol.Any(x => x.IdZespol == tEM.zespol.IdZespol) ? true : false }).ToListAsync(); var newTEM = new TeamEditModel() { zespol = tEM.zespol, pracowniks = allpracownik, }; return(View("TeamsEdit", newTEM)); } return(View(tEM)); }
public async Task <IActionResult> TeamsCreate(TeamCreateModel tCM) { if (ModelState.IsValid) { var newTeam = new Zespol() { Nazwa = tCM.zespol.Nazwa }; var pracownikIds = tCM.pracowniks.Where(x => x.Selected).Select(y => y.Value); if (pracownikIds.Count() == 0) { var pracownik = await _s16693context.Pracownik .Include(o => o.IdPracownikNavigation) .Select(x => new SelectListItem() { Text = x.IdPracownikNavigation.AdresEmail, Value = x.IdPracownik.ToString() }).ToListAsync(); tCM.pracowniks = pracownik; return(View("TeamsCreate", tCM)); } _s16693context.Add(newTeam); await _s16693context.SaveChangesAsync(); foreach (var id in pracownikIds) { var PZ = new PracownikZespol() { IdPracownik = int.Parse(id), IdZespol = (int)newTeam.IdZespol, DataPrzypisaniaPracownika = DateTime.Now }; _s16693context.Add(PZ); } await _s16693context.SaveChangesAsync(); return(RedirectToAction(nameof(Teams))); } else if (!ModelState.IsValid) { var pracownik = await _s16693context.Pracownik .Include(o => o.IdPracownikNavigation) .Select(x => new SelectListItem() { Text = x.IdPracownikNavigation.AdresEmail, Value = x.IdPracownik.ToString() }).ToListAsync(); var newTCM = new TeamCreateModel { pracowniks = pracownik }; return(View("TeamsCreate", newTCM)); } return(View(tCM)); }