Esempio n. 1
0
        public ActionResult PostNews(Vijesti vijest)
        {
            var db    = new NewsBarEntities();
            var model = new ViewModel()
            {
                Kategorije = db.Kategorije.ToList(),
                PageModel  = null
            };

            var news = db.Vijesti.ToList();
            var last = news.Count > 0 ? news[news.Count - 1] : null;

            vijest.Korisnici = db.Korisnici.FirstOrDefault(k => k.Id == vijest.AutorId);
            vijest.Created   = DateTime.Now;
            vijest.Slika     = @"~\Images\" + Guid.NewGuid().ToString() + "_" + Request.Files[0].FileName;
            vijest.Id        = last?.Id + 1 ?? 0; //TODO: Ukloniti nakon auto increment

            try
            {
                db.Vijesti.Add(vijest);
                db.SaveChanges();
            }
            catch (Exception e)
            {
                return(View("AddNews", model));
            }

            model.PageModel = vijest;

            return(View("AddNews", model));
        }
Esempio n. 2
0
        public ActionResult Dodaj(VijestiDodajVM model)
        {
            if (ModelState.IsValid)
            {
                if ((model.ImageUpload != null && model.ImageUpload.ContentLength > 0) && (model.ImageUpload.ContentType == "image/jpeg" || model.ImageUpload.ContentType == "image/png"))
                {
                    string putanjazabaze = FileUploader.UploadFile("Slike", model.ImageUpload);

                    Vijesti v = new Vijesti()
                    {
                        DatumObjave         = DateTime.Now,
                        Naslov              = model.Naziv,
                        Opis                = model.Opis,
                        Vidljivo            = model.Vidljivo,
                        VijestiKategorijaId = model.KategorijaId,
                        ImageUrl            = putanjazabaze,
                        AltText             = model.AltText
                    };

                    db.VijestiDbSet.Add(v);
                    db.SaveChanges();

                    return(RedirectToAction("Index"));
                }
                else
                {
                    ModelState.AddModelError("ImageUpload", "Podrzani formati su: jpg i png!");
                }
            }


            model.ListaKategorija = db.VijestiKategorijaDbSet.ToList();
            return(View(model));
        }
Esempio n. 3
0
        public async Task <ActionResult> Edit([Bind("Id, Naslov, Slika, URL, Sadrzaj, Ukupno_pregleda")] Vijesti model, IFormFile file)
        {
            var filePath = UploadImage(file).Result;

            try
            {
                if (ModelState.IsValid)
                {
                    if (filePath != "")
                    {
                        model.Slika = filePath;
                    }
                    model.Datum_i_vrijeme_objave = DateTime.Now;
                    var kNalog = _context.Korisnicki_nalogs.Where(k => k.UserName == this.User.Identity.Name).FirstOrDefault();
                    model.AutorId = kNalog.Id;
                    _context.Update(model);
                    await _context.SaveChangesAsync();

                    return(RedirectToAction(nameof(Details), new { id = model.Id }));
                }
            }
            catch (DbUpdateException /* ex */)
            {
                //Log the error (uncomment ex variable name and write a log.
                ModelState.AddModelError("", "Unable to save changes. " +
                                         "Try again, and if the problem persists " +
                                         "see your system administrator.");
            }
            return(View("VijestiAddEdit", model));
        }
Esempio n. 4
0
        public ActionResult PostNews(Vijesti vijest)
        {
            var db    = new NewsBarEntities();
            var model = new ViewModel()
            {
                Kategorije = db.Kategorije.ToList(),
                PageModel  = null
            };

            vijest.Korisnici = db.Korisnici.FirstOrDefault(k => k.Id == vijest.AutorId);
            vijest.Created   = DateTime.Now;
            vijest.Slika     = "";
            vijest.Id        = db.Vijesti.Last().Id + 1; //TODO: Ukloniti nakon auto increment

            try
            {
                db.Vijesti.Add(vijest);
                db.SaveChanges();
            }
            catch (Exception e)
            {
                return(View("AddNews", model));
            }

            model.PageModel = vijest;

            return(View("AddNews", model));
        }
Esempio n. 5
0
        public ActionResult DeleteConfirmed(int id)
        {
            Vijesti vijesti = db.VijestiDbSet.Find(id);

            db.VijestiDbSet.Remove(vijesti);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Esempio n. 6
0
 public ActionResult Edit([Bind(Include = "VijestID,Naslov,Opis,Datum,UlogaID")] Vijesti vijesti)
 {
     if (ModelState.IsValid)
     {
         db.Entry(vijesti).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.UlogaID = new SelectList(db.Uloga, "UlogaID", "Naziv", vijesti.UlogaID);
     return(View(vijesti));
 }
Esempio n. 7
0
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Vijesti vijesti = db.VijestiDbSet.Find(id);

            if (vijesti == null)
            {
                return(HttpNotFound());
            }
            return(View(vijesti));
        }
Esempio n. 8
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Vijesti vijesti = db.Vijesti.Find(id);

            if (vijesti == null)
            {
                return(HttpNotFound());
            }
            ViewBag.UlogaID = new SelectList(db.Uloga, "UlogaID", "Naziv", vijesti.UlogaID);
            return(View(vijesti));
        }
Esempio n. 9
0
        public async Task <ActionResult> Add([Bind("Naslov, Slika, URL, Sadrzaj")] Vijesti model, IFormFile file)
        {
            var filePath = UploadImage(file).Result;

            if (filePath == "")
            {
                ModelState.AddModelError("Slika", "Niste dodali sliku za upload");
            }
            try
            {
                if (ModelState.IsValid)
                {
                    model.Ukupno_pregleda        = 0;
                    model.Datum_i_vrijeme_objave = DateTime.Now;

                    var kNalog = _context.Korisnicki_nalogs.Where(k => k.UserName == this.User.Identity.Name).FirstOrDefault();
                    model.AutorId = kNalog.Id;
                    model.Slika   = filePath;
                    _context.Add(model);
                    _context.SaveChanges();
                    var korisnici = _context.Korisnicki_nalogs.ToList();
                    List <Notifikacije> notifikacije = new List <Notifikacije>();
                    korisnici.ForEach(k =>
                    {
                        var obavijest = new Notifikacije();
                        obavijest.Datum_i_vrijeme_objave = DateTime.Now.ToString();
                        obavijest.Naslov     = "Nova Vijest";
                        obavijest.Sadrzaj    = "Procitajte objavljenu vijest: " + "<a href='/Vijesti/Details/" + model.Id + "'>" + model.Naslov + "</a>";
                        obavijest.KorisnikId = k.Id;
                        notifikacije.Add(obavijest);
                    });
                    _context.Notifikacijes.AddRange(notifikacije);
                    await _context.SaveChangesAsync();

                    return(RedirectToAction(nameof(Details), new { id = model.Id }));
                }
            }
            catch (DbUpdateException /* ex */)
            {
                //Log the error (uncomment ex variable name and write a log.
                ModelState.AddModelError("", "Unable to save changes. " +
                                         "Try again, and if the problem persists " +
                                         "see your system administrator.");
            }
            return(View("VijestiAddEdit", model));
        }
Esempio n. 10
0
        public async Task <ActionResult> Delete(int id)
        {
            try
            {
                Vijesti vijest = new Vijesti()
                {
                    Id = id
                };
                _context.Entry(vijest).State = EntityState.Deleted;
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            catch (DbUpdateException ex)
            {
                //Log error once logging implemented
                return(RedirectToAction(nameof(Index)));
            }
        }
Esempio n. 11
0
        public ActionResult Edit(VijestiEditVM model)
        {
            if (ModelState.IsValid)
            {
                Vijesti v = db.VijestiDbSet.Find(model.Id);

                if (model.ImageUpload != null)
                {
                    /// ako je korisnik ucitao novu sliku izmjeni staru
                    if (v.ImageUrl == null)
                    {
                        v.ImageUrl = FileUploader.UploadFile("Slike", model.ImageUpload);;
                    }
                    else if ((model.ImageUpload.ContentLength > 0) && (model.ImageUpload.ContentType == "image/jpeg" || model.ImageUpload.ContentType == "image/png"))
                    {
                        FileUploader.ObrisiFile(v.ImageUrl);
                        v.ImageUrl = FileUploader.UploadFile("Slike", model.ImageUpload);;
                    }
                    else
                    {
                        ModelState.AddModelError("ImageUpload", "Podrzani formati su: jpg i png!");
                    }
                }

                v.Naslov                 = model.Naziv;
                v.Opis                   = model.Opis;
                v.Vidljivo               = model.Vidljivo;
                v.VijestiKategorijaId    = model.KategorijaId;
                v.DatumPosljednjeIzmjene = DateTime.Now;


                db.SaveChanges();

                return(RedirectToAction("Index"));
            }


            model.ListaKategorija = db.VijestiKategorijaDbSet.ToList();
            return(View(model));
        }
Esempio n. 12
0
        public string GetVijest(int vid)
        {
            ApiResponse response = new ApiResponse();

            using (var db = new ggwpDBEntities())
            {
                Vijesti v = db.Vijesti.Find(vid);

                if (v != null)
                {
                    v.datum          = v.datum.Date;
                    response.code    = "200";
                    response.payload = v;
                }
                else
                {
                    response.code    = "404";
                    response.payload = null;
                }
            }

            return(JsonConvert.SerializeObject(response));
        }