// GET: Zgloszenias/Delete/5
        public ActionResult Delete(int?id)
        {
            ApplicationUser user = db.Users.Find(User.Identity.GetUserId());

            if (user.ChangedPassword == 1)
            {
                if (id == null || user.KategorieId != 9)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }
                Zgloszenia zgloszenia = db.Zgloszenias.Find(id);
                if (zgloszenia == null)
                {
                    return(HttpNotFound());
                }
                Kategorie a = db.Kategories.Find(zgloszenia.KategorieId);
                ViewBag.Kategoria = a.Nazwa;
                Statusy b = db.Statusys.Find(zgloszenia.StatusyId);
                ViewBag.Status = b.Nazwa;
                return(View(zgloszenia));
            }
            else
            {
                return(RedirectToAction("ChangePassword", "Manage"));
            }
        }
        // GET: Zgloszenias/Details/5
        public ActionResult Details(int?id)
        {
            var             model = new ZgloszeniaViewModels();
            ApplicationUser user  = db.Users.Find(User.Identity.GetUserId());
            Zgloszenia      zgl   = db.Zgloszenias.Find(id);

            if (user.ChangedPassword == 1)
            {
                if (id == null || user.KategorieId == zgl.KategorieId || user.UserName == zgl.Uzytkownik || user.KategorieId == 9)
                {
                    if (zgl == null)
                    {
                        return(HttpNotFound());
                    }
                    Kategorie a = db.Kategories.Find(zgl.KategorieId);
                    ViewBag.Kategoria = a.Nazwa;
                    Statusy b = db.Statusys.Find(zgl.StatusyId);
                    ViewBag.Status = b.Nazwa;
                    ViewBag.edycja = 0;
                    ViewBag.adm    = 0;

                    if (user.KategorieId == zgl.KategorieId)
                    {
                        ViewBag.edycja = 1;
                    }

                    if (user.KategorieId == 9)
                    {
                        ViewBag.edycja = 1;
                        ViewBag.adm    = 1;
                    }


                    model.Wiadomosci = db.Wiadomoscis.Where(z => z.ZgloszeniaId == id).ToList();
                    model.Zgloszenia = zgl;
                    model.idwiad     = (int)id;
                    model.nad        = user.UserName;
                    return(View(model));
                }
                else
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }
            }
            else
            {
                return(RedirectToAction("ChangePassword", "Manage"));
            }
        }
        /// <summary>
        /// Funkcja odpowiedzialna za dodanie Zadanie do bazy danych
        /// </summary>
        /// <param name="win">Okno do zamknięcia po zapisie</param>
        private async void DodajAsync(Window win)
        {
            if (!ScalIWaliduj())
            {
                return;
            }

            NoweZadanie.Status = Statusy.Where(s => s.Nazwa_status == "Do realizacji").First();

            DbContext.Zadania.Add(NoweZadanie);
            if (await DbContext.SaveChangesAsync() != 0)
            {
                MessageBox.Show("Zadanie zostało dodane");
            }
            else
            {
                MessageBox.Show("Wystąpił problem z zapisem");
                throw new Exception();
            }

            Zamknij(win);
        }
        /// <summary>
        /// Funkcja odpowiedzialna za zapisanie edytowanego zadania w bazie
        /// </summary>
        /// <param name="win">Okno do zamknięcia</param>
        private async void EdytujAsync(Window win)
        {
            if (!ScalIWaliduj())
            {
                return;
            }

            NoweZadanie.Status = Statusy.Where(s => s.Nazwa_status == StatusZad).First();

            Zadanie zadaniaDb = DbContext.Zadania.Where(z => z.Id_zadanie == NoweZadanie.Id_zadanie).First();

            zadaniaDb.Temat     = NoweZadanie.Temat;
            zadaniaDb.Opis      = NoweZadanie.Opis;
            zadaniaDb.Priorytet = NoweZadanie.Priorytet;
            zadaniaDb.Status    = NoweZadanie.Status;
            zadaniaDb.Data      = NoweZadanie.Data;

            await DbContext.SaveChangesAsync();

            MessageBox.Show("Zadanie zostało zmodyfikowane");

            Zamknij(win);
        }