예제 #1
0
        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));
        }
예제 #2
0
        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));
        }