public ActionResult DodajObavijest(int[] sektori, string naslov, string sazetak, string obavijest, string chkIsIstaknuta,string IsStara, HttpPostedFileBase slikaObavijesti, List<HttpPostedFileBase> slike, List<HttpPostedFileBase> dokumenti)
        {
            Korisnici k = HttpContext.Session["korisnik"] as Korisnici;
            if (k != null)
            {
                try
                {
                    int err = 0;
                    Obavijesti o = new Obavijesti();
                    o.Datum = DateTime.Now;
                    o.IsActive = true;
                    o.KorisnikID = k.KorisnikID;
                    if (IsStara == "on")
                        o.Nova = false;
                    else
                        o.Nova = true;

                    if (chkIsIstaknuta == "on")
                    {
                        o.IsIstaknuta = true;
                        if (IsSlikaAllowed(slikaObavijesti))
                            o.SlikaObavijesti = SnimiSlikuObavijesti(slikaObavijesti); /////// nova funkcija
                        else
                            err++;

                    }
                    else
                    {
                        o.IsIstaknuta = false;
                        o.SlikaObavijesti = "";
                    }
                    if (sazetak != "")
                        o.Sazetak = sazetak;
                    else
                        err++;

                    if (obavijest != "")
                        o.Obavijest = obavijest;
                    else
                        err++;

                    if (naslov != "")
                        o.NaslovObavijesti = naslov;
                    else
                        err++;

                    if (err > 0)
                    {
                        ViewBag.Error = "Niste unijeli sve informacije potrebne za upis!";
                        return View();
                    }
                    else
                    {

                        ctx.Obavijestis.Add(o);
                        ctx.SaveChanges();

                        if (dokumenti[0] != null)
                        {
                            for (int i = 0; i < dokumenti.Count(); i++)
                            {
                                if (IsDokumentAllowed(dokumenti[i]))
                                {
                                    ObavijestiDokumenti od = new ObavijestiDokumenti();
                                    od.ObavjestID = o.ObavijestID;
                                    od.Lokacija = SnimiDokument(dokumenti[i]);
                                    od.NazivDokumenta = Path.GetFileNameWithoutExtension(dokumenti[i].FileName);
                                    od.TipDokumenta = Path.GetExtension(dokumenti[i].FileName);
                                    od.Velicina = dokumenti[i].ContentLength;
                                    od.IsActive = true;

                                    ctx.ObavijestiDokumentis.Add(od);
                                    ctx.SaveChanges();
                                }
                            }
                        }
                        if (slike[0] != null)
                        {
                            for (int i = 0; i < slike.Count(); i++)
                            {
                                if (IsSlikaAllowed(slike[i]))
                                {
                                    ObavijestiSlike s = new ObavijestiSlike();
                                    s.IsActive = true;
                                    s.ObavijestID = o.ObavijestID;
                                    s.Putanja = SnimiSliku(slike[i]);

                                    ctx.ObavijestiSlikes.Add(s);
                                    ctx.SaveChanges();
                                }
                            }
                        }
                        if (sektori != null)
                        {
                            foreach (int item in sektori)
                            {
                                ObavijestiSektori so = new ObavijestiSektori();
                                so.IsActive = true;
                                so.ObavijestID = o.ObavijestID;
                                so.SektorID = item;

                                ctx.ObavijestiSektoris.Add(so);
                                ctx.SaveChanges();
                            }
                        }
                        else
                        {
                            Sektori s = ctx.Sektoris.Where(x => x.IsActive == true && x.IsStudentskiZajam == false).First();

                            ObavijestiSektori so = new ObavijestiSektori();
                            so.IsActive = true;
                            so.ObavijestID = o.ObavijestID;
                            so.SektorID = s.SektorID;
                            ctx.ObavijestiSektoris.Add(so);
                            ctx.SaveChanges();
                        }
                    }

                    ViewBag.Success = "Uspješno ste snimili novu obavijest!";
                    return View();
                }
                catch (Exception)
                {
                      ViewBag.Error = "Greška prilikom snimanja obavijesti!";
                      return View();
                }
            }
            return RedirectToAction("Index", "Login");
        }
        public ActionResult IzmjenaZajmova(int zajamID, string naslov, string sazetak, string obavijest, List<HttpPostedFileBase> dokumenti)
        {
            Korisnici k = HttpContext.Session["korisnik"] as Korisnici;
            if (k != null)
            {
                Obavijesti o = ctx.Obavijestis.Where(x => x.ObavijestID == zajamID).FirstOrDefault();
                if(o!=null)
                {
                    try
                    {
                        naslov = AntiXSS.GetSafeHtml(naslov);
                        if (naslov != "")
                            o.NaslovObavijesti = naslov;
                        if (sazetak != "")
                            o.Sazetak = sazetak;
                        if (obavijest != "")
                            o.Obavijest = obavijest;
                        ctx.SaveChanges();
                        if (dokumenti[0] != null)
                        {
                            List<ObavijestiDokumenti> docs = ctx.ObavijestiDokumentis.Where(x => x.ObavjestID == o.ObavijestID).ToList();
                            if (docs.Count > 0)
                            {
                                foreach (ObavijestiDokumenti i in docs)
                                {
                                    i.IsActive = false;
                                    ctx.SaveChanges();
                                }
                            }

                            for (int i = 0; i < dokumenti.Count(); i++)
                            {
                                if (IsDokumentAllowed(dokumenti[i]))
                                {
                                    ObavijestiDokumenti od = new ObavijestiDokumenti();
                                    od.ObavjestID = o.ObavijestID;
                                    od.Lokacija = SnimiDokument(dokumenti[i]);
                                    od.NazivDokumenta = Path.GetFileNameWithoutExtension(dokumenti[i].FileName);
                                    od.TipDokumenta = Path.GetExtension(dokumenti[i].FileName);
                                    od.Velicina = dokumenti[i].ContentLength;
                                    od.IsActive = true;

                                    ctx.ObavijestiDokumentis.Add(od);
                                    ctx.SaveChanges();
                                }
                            }
                        }
                        ViewData["zajam"] = o;
                        ViewData["dokumenti"] = ctx.ObavijestiDokumentis.Where(x => x.ObavjestID == o.ObavijestID).ToList();
                        ViewBag.Success = "Uspješno ste izmijenili studentski zajam!";
                        return View();
                    }
                    catch (Exception)
                    {
                        ViewData["zajam"] = o;
                        ViewData["dokumenti"] = ctx.ObavijestiDokumentis.Where(x => x.ObavjestID == o.ObavijestID).ToList();
                        ViewBag.Error = "Desila se greška pri izmjeni!";
                        return View();
                    }
                }
                else
                    return RedirectToAction("Pregled", "StudentskiZajmovi");
            }
            else
                return RedirectToAction("Index", "Login");
        }
        public ActionResult IzmjenaObavijesti(int[] sektori,string IsStara, string naslov, string sazetak, string obavijest, string chkIsIstaknuta, HttpPostedFileBase slikaObavijesti, List<HttpPostedFileBase> slike, List<HttpPostedFileBase> dokumenti, int obavijestID)
        {
            Korisnici k = HttpContext.Session["korisnik"] as Korisnici;
            if (k != null)
            {
                Obavijesti o = ctx.Obavijestis.Where(x => x.ObavijestID == obavijestID).FirstOrDefault();
                try
                {
                    if (o != null)
                    {
                        int err = 0;
                        o.Datum = DateTime.Now;
                        o.IsActive = true;
                        o.KorisnikID = k.KorisnikID;
                        if (IsStara == "on")
                            o.Nova = false;
                        else
                            o.Nova = true;

                        if (chkIsIstaknuta == "on")
                        {
                            o.IsIstaknuta = true;
                            if (slikaObavijesti != null)
                            {
                                if (IsSlikaAllowed(slikaObavijesti))
                                    o.SlikaObavijesti = SnimiSlikuObavijesti(slikaObavijesti); /////// nova funkcija
                                else
                                    err++;
                            }
                        }
                        else
                        {
                            o.IsIstaknuta = false;
                            o.SlikaObavijesti = "";
                        }
                        if (sazetak != "")
                            o.Sazetak = sazetak;
                        else
                            err++;
                        if (obavijest != "")
                            o.Obavijest = obavijest;
                        else
                            err++;
                        if (naslov != "")
                            o.NaslovObavijesti = naslov;

                        if (err == 0)
                        {
                            ctx.SaveChanges();
                        }
                        else
                        {
                            ViewBag.Error = "Niste unijeli sve informacije potrebne za upis!";
                            ViewData["obavijest"] = o;
                            ViewData["dokumenti"] = ctx.ObavijestiDokumentis.Where(x => x.ObavjestID == o.ObavijestID).ToList();
                            ViewData["slike"] = ctx.ObavijestiSlikes.Where(x => x.ObavijestID == o.ObavijestID).ToList();
                            ViewData["sektori"] = (from obavijestiSektori in ctx.ObavijestiSektoris
                                                   join sektor in ctx.Sektoris
                                                   on obavijestiSektori.SektorID equals sektor.SektorID
                                                   where (obavijestiSektori.ObavijestID == o.ObavijestID)
                                                   select sektor).ToList();
                            ViewData["sviSektori"] = ctx.Sektoris.Where(x => x.IsActive == true && x.NazivSektora != "Studentski zajam").ToList();
                            return View();
                        }

                        if (dokumenti[0]!=null)
                        {
                            List<ObavijestiDokumenti> doc = ctx.ObavijestiDokumentis.Where(x => x.ObavjestID == o.ObavijestID).ToList();
                            foreach (ObavijestiDokumenti i in doc)
                            {
                                ctx.ObavijestiDokumentis.Remove(i);
                                ctx.SaveChanges();
                            }

                            for (int i = 0; i < dokumenti.Count(); i++)
                            {
                                if (IsDokumentAllowed(dokumenti[i]))
                                {
                                    ObavijestiDokumenti od = new ObavijestiDokumenti();
                                    od.ObavjestID = o.ObavijestID;
                                    od.Lokacija = SnimiDokument(dokumenti[i]);
                                    od.NazivDokumenta = Path.GetFileNameWithoutExtension(dokumenti[i].FileName);
                                    od.TipDokumenta = Path.GetExtension(dokumenti[i].FileName);
                                    od.Velicina = dokumenti[i].ContentLength;
                                    od.IsActive = true;

                                    ctx.ObavijestiDokumentis.Add(od);
                                    ctx.SaveChanges();
                                }
                            }
                        }
                        if (slike[0]!=null)
                        {
                            List<ObavijestiSlike> pic = ctx.ObavijestiSlikes.Where(x => x.ObavijestID == o.ObavijestID).ToList();
                            foreach (ObavijestiSlike i in pic)
                            {
                                ctx.ObavijestiSlikes.Remove(i);
                                ctx.SaveChanges();
                            }

                            for (int i = 0; i < slike.Count(); i++)
                            {
                                if (IsSlikaAllowed(slike[i]))
                                {
                                    ObavijestiSlike s = new ObavijestiSlike();
                                    s.IsActive = true;
                                    s.ObavijestID = o.ObavijestID;
                                    s.Putanja = SnimiSliku(slike[i]);

                                    ctx.ObavijestiSlikes.Add(s);
                                    ctx.SaveChanges();
                                }
                            }
                        }
                        if (sektori != null)
                        {
                            List<ObavijestiSektori> sec = ctx.ObavijestiSektoris.Where(x => x.ObavijestID == o.ObavijestID).ToList();

                            foreach (ObavijestiSektori i in sec)
                            {
                                ctx.ObavijestiSektoris.Remove(i);
                                ctx.SaveChanges();
                            }
                            foreach (int item in sektori)
                            {
                                ObavijestiSektori so = new ObavijestiSektori();
                                so.IsActive = true;
                                so.ObavijestID = o.ObavijestID;
                                so.SektorID = item;

                                ctx.ObavijestiSektoris.Add(so);
                                ctx.SaveChanges();
                            }
                        }
                        ViewData["obavijest"] = o;
                        ViewData["dokumenti"] = ctx.ObavijestiDokumentis.Where(x => x.ObavjestID == o.ObavijestID).ToList();
                        ViewData["slike"] = ctx.ObavijestiSlikes.Where(x => x.ObavijestID == o.ObavijestID).ToList();
                        ViewData["sektori"] = (from obavijestiSektori in ctx.ObavijestiSektoris
                                               join sektor in ctx.Sektoris
                                               on obavijestiSektori.SektorID equals sektor.SektorID
                                               where (obavijestiSektori.ObavijestID == o.ObavijestID)
                                               select sektor).ToList();
                        ViewData["sviSektori"] = ctx.Sektoris.Where(x => x.IsActive == true && x.NazivSektora != "Studentski zajam").ToList();

                        ViewBag.Success = "Uspješno ste izmijenili obavijest!";
                        return View();
                    }
                }
                catch (Exception)
                {
                    ViewBag.Error = "Desila se greška pri izmjeni!";
                    ViewData["obavijest"] = o;
                    ViewData["dokumenti"] = ctx.ObavijestiDokumentis.Where(x => x.ObavjestID == o.ObavijestID).ToList();
                    ViewData["slike"] = ctx.ObavijestiSlikes.Where(x => x.ObavijestID == o.ObavijestID).ToList();
                    ViewData["sektori"] = (from obavijestiSektori in ctx.ObavijestiSektoris
                                           join sektor in ctx.Sektoris
                                           on obavijestiSektori.SektorID equals sektor.SektorID
                                           where (obavijestiSektori.ObavijestID == o.ObavijestID)
                                           select sektor).ToList();
                    ViewData["sviSektori"] = ctx.Sektoris.Where(x => x.IsActive == true && x.NazivSektora != "Studentski zajam").ToList();
                    return View();
                }
            }
            return RedirectToAction("Index", "Login");
        }
        public ActionResult Snimi(string naslov, string sazetak, string obavijest, List<HttpPostedFileBase> dokumenti)
        {
            Korisnici k = HttpContext.Session["korisnik"] as Korisnici;
             if (k != null)
             {
                 try
                 {
                     naslov = AntiXSS.GetSafeHtml(naslov);
                     if (naslov == "")
                     {
                         ViewBag.Error = "Niste unijeli naziv studentskog zajma!";
                         return View();
                     }

                     Obavijesti o = new Obavijesti();

                     o.KorisnikID = k.KorisnikID;
                     o.NaslovObavijesti = naslov;
                     o.IsIstaknuta = false;
                     o.IsActive = true;
                     o.Obavijest = obavijest;
                     o.Sazetak = sazetak;
                     o.SlikaObavijesti = "";
                     o.Datum = DateTime.Now;

                     ctx.Obavijestis.Add(o);
                     ctx.SaveChanges();

                     if (dokumenti[0] != null)
                     {
                         for (int i = 0; i < dokumenti.Count(); i++)
                         {
                             if (IsDokumentAllowed(dokumenti[i]))
                             {
                                 ObavijestiDokumenti od = new ObavijestiDokumenti();
                                 od.ObavjestID = o.ObavijestID;
                                 od.Lokacija = SnimiDokument(dokumenti[i]);
                                 od.NazivDokumenta = Path.GetFileNameWithoutExtension(dokumenti[i].FileName);
                                 od.TipDokumenta = Path.GetExtension(dokumenti[i].FileName);
                                 od.Velicina = dokumenti[i].ContentLength;
                                 od.IsActive = true;

                                 ctx.ObavijestiDokumentis.Add(od);
                                 ctx.SaveChanges();
                             }
                         }
                     }

                     Sektori s = ctx.Sektoris.Where(x => x.IsStudentskiZajam == true).SingleOrDefault();

                     ObavijestiSektori so = new ObavijestiSektori();
                     so.IsActive = true;
                     so.ObavijestID = o.ObavijestID;
                     so.SektorID = s.SektorID;
                     ctx.ObavijestiSektoris.Add(so);
                     ctx.SaveChanges();

                     ViewBag.Success = "Uspješno ste snimili novi studentski zajam.";
                     return View();
                 }
                 catch (Exception)
                 {
                      ViewBag.Error = "Greška prilikom snimanja studentskog zajma!";
                      return View();
                 }
             }
             return RedirectToAction("Index", "Login");
        }