public async Task <IActionResult> TaskEdit(TaskEditModel tEM)
        {
            if (ModelState.IsValid)
            {
                _s16693context.Update(tEM.UslugaProjekt);
                await _s16693context.SaveChangesAsync();

                return(RedirectToAction("ProjectDetails", new { id = tEM.UslugaProjekt.IdProjekt }));
            }
            else if (!ModelState.IsValid)
            {
                return(View("TaskEdit", tEM));
            }
            return(View(tEM));
        }
        public async Task <IActionResult> ForgottenPassword(OsobaForgottenPassword oFP)
        {
            var Message = "";

            if (ModelState.IsValid)
            {
                using (s16693Context dc = new s16693Context())
                {
                    var v = await dc.Osoba.Where(e => e.AdresEmail == oFP.AdresEmail).FirstOrDefaultAsync();

                    if (v != null)
                    {
                        oFP.Haslo = Hash(oFP.Haslo);
                        v.Haslo   = oFP.Haslo;
                        dc.Update(v);
                        dc.SaveChanges();
                        Message = "Hasło zostało zaktualizowane pomyślnie";
                        return(RedirectToAction("Login", "Home"));
                    }
                }
            }
            else
            {
                Message = "Nieprawidłowe żądanie";
            }
            ViewBag.Message = Message;

            return(View(oFP));
        }
        public async Task <IActionResult> ProjectEdit(ProjectEditModel pEM)
        {
            if (ModelState.IsValid)
            {
                _s16693context.Update(pEM.projekt);

                var oldZP = await _s16693context.ZespolProjekt
                            .Where(x => x.IdZespol == pEM.IdZespol && x.IdProjekt == pEM.projekt.IdProjekt && x.DataWypisaniaZespolu == null)
                            .FirstOrDefaultAsync();

                var oldPP = await _s16693context.ProjektPakiet
                            .Where(x => x.IdPakiet == pEM.IdPakiet && x.IdProjekt == pEM.projekt.IdProjekt && x.DataZakonczeniaWspolpracy == null)
                            .FirstOrDefaultAsync();

                if (oldZP.IdZespol != pEM.zespol.IdZespol)
                {
                    oldZP.DataWypisaniaZespolu = DateTime.Now;
                    _s16693context.Update(oldZP);

                    var newZP = new ZespolProjekt()
                    {
                        IdProjekt = pEM.projekt.IdProjekt,
                        IdZespol  = (int)pEM.zespol.IdZespol,
                        DataPrzypisaniaZespolu = DateTime.Now
                    };

                    _s16693context.Add(newZP);
                    await _s16693context.SaveChangesAsync();
                }

                if (oldPP.IdPakiet != pEM.pakiet.IdPakiet)
                {
                    oldPP.DataZakonczeniaWspolpracy = DateTime.Now;
                    _s16693context.Update(oldPP);

                    var newPP = new ProjektPakiet()
                    {
                        IdProjekt = pEM.projekt.IdProjekt,
                        IdPakiet  = (int)pEM.pakiet.IdPakiet,
                        DataRozpoczeciaWspolpracy = DateTime.Now
                    };

                    _s16693context.Add(newPP);
                    await _s16693context.SaveChangesAsync();
                }

                await _s16693context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            else if (!ModelState.IsValid)
            {
                var firmy   = from e in _s16693context.Firma select e;
                var zespoly = from e in _s16693context.Zespol select e;
                var pakiety = from e in _s16693context.Pakiet select e;

                var newPEM = new ProjectEditModel
                {
                    projekt  = pEM.projekt,
                    zespol   = pEM.zespol,
                    pakiet   = pEM.pakiet,
                    firmas   = await firmy.ToListAsync(),
                    zespols  = await zespoly.ToListAsync(),
                    pakiets  = await pakiety.ToListAsync(),
                    IdZespol = (int)pEM.IdZespol,
                    IdPakiet = (int)pEM.IdPakiet
                };

                return(View("ProjectEdit", newPEM));
            }
            return(View(pEM));
        }