Example #1
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,IdAutora,IdOdobrenOd,IdTipa,Ime,Opis,Url,JeOdobren")] Sadrzaj sadrzaj)
        {
            if (id != sadrzaj.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(sadrzaj);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SadrzajExists(sadrzaj.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction("Index"));
            }
            ViewData["IdAutora"]    = new SelectList(_context.Korisnik, "Id", "Email", sadrzaj.IdAutora);
            ViewData["IdOdobrenOd"] = new SelectList(_context.Korisnik, "Id", "Email", sadrzaj.IdOdobrenOd);
            ViewData["IdTipa"]      = new SelectList(_context.TipSadrzaja, "Id", "Ime", sadrzaj.IdTipa);
            return(View(sadrzaj));
        }
Example #2
0
        //[Authorize]
        public IHttpActionResult Post(Sadrzaj sadrzaj)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _repository.Add(sadrzaj);
            return(CreatedAtRoute("DefaultApi", new { id = sadrzaj.SadrzajId }, sadrzaj));
        }
Example #3
0
 public void Update(Sadrzaj sadrzaj)
 {
     db.Entry(sadrzaj).State = System.Data.Entity.EntityState.Modified;
     try
     {
         db.SaveChanges();
     }
     catch (DbUpdateConcurrencyException)
     {
         throw;
     }
 }
Example #4
0
 public override bool Procitaj()
 {
     if (base.Procitaj())
     {
         //return Sadrzaj.IndexOf("Trenutno nema rezultata koji odgovaraju Vašem kriterijumu pretraživanja") == -1;
         return(Sadrzaj.IndexOf("Trenutno nema rezultata koji odgovaraju Va") == -1); // zbog enkodinga
     }
     else
     {
         return(true); // ako nije dobro procitao neka vrati true, pa neka cita dalje.
     }
 }
Example #5
0
        public async Task <IActionResult> Create([Bind("Id,IdAutora,IdOdobrenOd,IdTipa,Ime,Opis,Url,JeOdobren")] Sadrzaj sadrzaj)
        {
            if (ModelState.IsValid)
            {
                _context.Add(sadrzaj);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewData["IdAutora"]    = new SelectList(_context.Korisnik, "Id", "Email", sadrzaj.IdAutora);
            ViewData["IdOdobrenOd"] = new SelectList(_context.Korisnik, "Id", "Email", sadrzaj.IdOdobrenOd);
            ViewData["IdTipa"]      = new SelectList(_context.TipSadrzaja, "Id", "Ime", sadrzaj.IdTipa);
            return(View(sadrzaj));
        }
    private static PrezentacijaDenorm Denormalize(Prezentacija p, Sadrzaj sadrzaj, Kategorija kategorija)
    {
        PrezentacijaDenorm prez = new PrezentacijaDenorm();

        prez.Id     = p.Id;
        prez.Sirina = p.Sirina;
        prez.Visina = p.Visina;
        prez.XKoord = p.XKoord;
        prez.YKoord = p.YKoord;

        prez.SetKategorija(kategorija.Vrsta);
        prez.SetSadrzaj(sadrzaj.Ime);

        return(prez);
    }
Example #7
0
    private static SadrzajDenorm Denormalize(Sadrzaj s, TipSadrzaja tipSadrzaja, Korisnik autor, Korisnik odobren)
    {
        SadrzajDenorm sadrzaj = new SadrzajDenorm();

        sadrzaj.Id   = s.Id;
        sadrzaj.Ime  = s.Ime;
        sadrzaj.Opis = s.Opis;
        sadrzaj.Url  = s.Url;


        sadrzaj.SetAutor(autor.KorisnickoIme);
        sadrzaj.SetOdobrenOd(odobren.KorisnickoIme);
        sadrzaj.SetTip(tipSadrzaja.Ime);
        return(sadrzaj);
    }
Example #8
0
        public async Task <string> UploadNovogSadrzaja(object sender, SadrzajNewUpload sadrzajNewUpload) // NEDOSTAJE NACIN DA SE PROSLEDI ID!!!!!!!!!!!!!!!!!!!!!!!!!!
        {
            var ctx      = HttpContext.Current;
            var root     = ctx.Server.MapPath("~/Slike");
            var provider =
                new MultipartFormDataStreamProvider(root);

            try
            {
                await Request.Content
                .ReadAsMultipartAsync(provider);

                foreach (var file in provider.FileData)
                {
                    var name = file.Headers
                               .ContentDisposition
                               .FileName;

                    // remove double quotes from string.
                    name = name.Trim('"');
                    name = string.Concat(Path.GetFileNameWithoutExtension(name), DateTime.Now.ToString("yyyyMMddHHmmssfff"), Path.GetExtension(name));

                    // name += DateTime.Now.ToString("yyyyMMddHHmmssfff");

                    var localFileName = file.LocalFileName;
                    var filePath      = Path.Combine(root, name);

                    File.Move(localFileName, filePath);

                    Sadrzaj sadrzaj = new Sadrzaj();
                    sadrzaj.KosarkasId       = sadrzajNewUpload.KosarkasId;
                    sadrzaj.SadrzajTekst     = sadrzajNewUpload.SadrzajTekst;
                    sadrzaj.SadrzajArhiviran = false;
                    sadrzaj.SadrzajSlikaLink = name;
                    sadrzaj.SadrzajSlikaLink = "/Slike/" + name;

                    _repository.Add(sadrzaj);
                }
            }
            catch (Exception e)
            {
                return($"Error: {e.Message}");
            }

            return("File uploaded!");
        }
Example #9
0
        public async Task <IActionResult> SadrzajCreate([FromBody] SadrzajApiModel model)
        {
            if (model != null && ModelState.IsValid)
            {
                Sadrzaj sadrzaj = new Sadrzaj
                {
                    Ime         = model.Ime,
                    Opis        = model.Opis,
                    Url         = model.Url,
                    JeOdobren   = model.JeOdobren,
                    IdAutora    = model.IdAutora,
                    IdOdobrenOd = model.IdOdobrenOd,
                    IdTipa      = model.IdTipa
                };

                _context.Add(sadrzaj);
                await _context.SaveChangesAsync();

                var u = await _context.Sadrzaj
                        .AsNoTracking()
                        .Include(d => d.IdAutoraNavigation)
                        .Include(d => d.IdOdobrenOdNavigation)
                        .Include(d => d.IdTipaNavigation)
                        .LastOrDefaultAsync();

                return(new ObjectResult(new SadrzajApiModel
                {
                    Id = u.Id,
                    Ime = u.Ime,
                    Opis = u.Opis,
                    Url = u.Url,
                    JeOdobren = u.JeOdobren,
                    IdAutora = u.IdAutora,
                    Autor = u.IdAutoraNavigation.Ime + " " + u.IdAutoraNavigation.Prezime,
                    IdOdobrenOd = u.IdOdobrenOd,
                    OdobrenOd = u.IdOdobrenOdNavigation.Ime + " " + u.IdOdobrenOdNavigation.Prezime,
                    IdTipa = u.IdTipa,
                    Tip = u.IdTipaNavigation.Ime
                }));
            }
            return(BadRequest(ModelState));
        }
        private void PrikaziViseBtn_Clicked(object sender, EventArgs e)
        {
            if (!t)
            {
                prikaziViseBtn.Text = "PRIKAŽI MANJE";

                Sadrzaj.ClearValue(Label.LineBreakModeProperty);
                Sadrzaj.ClearValue(Label.MaxLinesProperty);

                t = true;
            }
            else
            {
                prikaziViseBtn.Text = "PRIKAŽI VIŠE";

                Sadrzaj.LineBreakMode = LineBreakMode.WordWrap;
                Sadrzaj.MaxLines      = 4;
                t = false;
            }
        }
Example #11
0
        public IHttpActionResult Put(int id, Sadrzaj sadrzaj)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != sadrzaj.SadrzajId)
            {
                return(BadRequest());
            }

            try
            {
                _repository.Update(sadrzaj);
            }
            catch
            {
                return(BadRequest());
            }

            return(Ok(sadrzaj));
        }
Example #12
0
 public void Delete(Sadrzaj sadrzaj)
 {
     db.Sadrzaj.Remove(sadrzaj);
     db.SaveChanges();
 }
Example #13
0
 public void Add(Sadrzaj sadrzaj)
 {
     db.Sadrzaj.Add(sadrzaj);
     db.SaveChanges();
 }
Example #14
0
        public void Obradi()
        {
            if (Sadrzaj != null && !Sadrzaj.Equals(string.Empty))
            {
                HtmlAgilityPack.HtmlDocument dok = new HtmlAgilityPack.HtmlDocument();
                try
                {
                    dok.LoadHtml(Sadrzaj);
                    StringBuilder greske = new StringBuilder();
                    HtmlAgilityPack.HtmlNodeCollection nodeCol;

                    // provera da li je strana pronadjena
                    nodeCol = dok.DocumentNode.SelectNodes("//*[@id=\"frame\"]/div[2]/div/div[5]/h1");
                    if (nodeCol != null && nodeCol[0].InnerHtml.Trim().ToUpper().Equals("Stranica nije pronađena".ToUpper()))
                    {
                        automobil = null;
                        return;
                    }

                    //Zaglavlje
                    string naslov = string.Empty;
                    try
                    {
                        nodeCol = dok.DocumentNode.SelectNodes("//*[@id=\"listing\"]/div[1]/h1/div[1]");
                        if (nodeCol != null)
                        {
                            naslov = nodeCol[0].InnerHtml.Trim();
                        }
                        else
                        {
                            naslov = "Bez naslova";
                        }
                    }
                    catch (Exception ex)
                    {
                        greske.AppendLine("Nisam mogao da pročitam polje naslov: " + ex.Message);
                    }

                    float cena = 0;
                    try
                    {
                        string cenaStr = dok.DocumentNode.SelectNodes("//*[@id=\"listing\"]/div[1]/h1/div[2]")[0].InnerHtml.Trim();
                        if (cenaStr.ToLower().Equals("na upit"))
                        {
                            cena = 0;
                        }
                        else
                        {
                            cena = float.Parse(cenaStr.Substring(0, cenaStr.IndexOf(" ")).Replace(".", ""));
                        }
                    }
                    catch (Exception ex)
                    {
                        greske.AppendLine("Nisam mogao da pročitam polje cena: " + ex.Message);
                    }

                    //Opste
                    string vozilo            = DajPodatakIzDokumenta(ref dok, PodaciOAutomobilu.OpsteInformacije, "vozilo");
                    string marka             = DajPodatakIzDokumenta(ref dok, PodaciOAutomobilu.OpsteInformacije, "marka");
                    string model             = DajPodatakIzDokumenta(ref dok, PodaciOAutomobilu.OpsteInformacije, "model");
                    int    godinaProizvodnje = 0;
                    try
                    {
                        godinaProizvodnje = int.Parse(DajPodatakIzDokumenta(ref dok, PodaciOAutomobilu.OpsteInformacije, "Godina proizvodnje", "0"));
                    }
                    catch (Exception ex)
                    {
                        greske.AppendLine("Nisam mogao da pročitam polje 'Godina proizvodnje': " + ex.Message);
                    }
                    string   karoserija        = DajPodatakIzDokumenta(ref dok, PodaciOAutomobilu.OpsteInformacije, "karoserija");
                    string   gorivo            = DajPodatakIzDokumenta(ref dok, PodaciOAutomobilu.OpsteInformacije, "gorivo");
                    bool     fiksnaCena        = DajPodatakIzDokumenta(ref dok, PodaciOAutomobilu.OpsteInformacije, "Fiksna cena").ToLower() == "da";
                    bool     zamena            = DajPodatakIzDokumenta(ref dok, PodaciOAutomobilu.OpsteInformacije, "zamena").ToLower() == "da";
                    DateTime datumPostavljanja = DateTime.MinValue;;
                    try
                    {
                        datumPostavljanja = DateTime.Parse(DajPodatakIzDokumenta(ref dok, PodaciOAutomobilu.OpsteInformacije, "Datum postavljanja", DateTime.MinValue.ToShortDateString()).TrimEnd('.'));
                    }
                    catch (Exception ex)
                    {
                        greske.AppendLine("Nisam mogao da pročitam polje 'Datum postavljanja': " + ex.Message);
                    }
                    int brojOglasa = 0;
                    try
                    {
                        brojOglasa = int.Parse(DajPodatakIzDokumenta(ref dok, PodaciOAutomobilu.OpsteInformacije, "Broj oglasa"));
                    }
                    catch (Exception ex)
                    {
                        greske.AppendLine("Nisam mogao da pročitam polje 'Broj oglasa': " + ex.Message);
                    }

                    // Dodatne informacije
                    int kubikaza = 0;
                    try
                    {
                        kubikaza = int.Parse(DajPodatakIzDokumenta(ref dok, PodaciOAutomobilu.DodatneInformacije, new string[] { "Kubikaža (cm3)", "Kubika" }, "0"));
                    }
                    catch (Exception ex)
                    {
                        greske.AppendLine("Nisam mogao da pročitam polje 'Kubikaža': " + ex.Message);
                    }
                    int snagaKW = 0;
                    int snagaKS = 0;
                    try
                    {
                        snagaKW = int.Parse(DajPodatakIzDokumenta(ref dok, PodaciOAutomobilu.DodatneInformacije, "Snaga", "0").Replace(".", "")) / 100;
                        snagaKS = SnagaKWUKS(snagaKW);
                    }
                    catch (Exception ex)
                    {
                        greske.AppendLine("Nisam mogao da pročitam polje 'Snaga': " + ex.Message);
                    }
                    int kilometraza = 0;
                    try
                    {
                        kilometraza = int.Parse(DajPodatakIzDokumenta(ref dok, PodaciOAutomobilu.DodatneInformacije, new string[] { "Kilometraža", "Kilometra" }));
                    }
                    catch (Exception ex)
                    {
                        greske.AppendLine("Nisam mogao da pročitam polje 'Kilometraža': " + ex.Message);
                    }
                    string emisionaKlasa  = DajPodatakIzDokumenta(ref dok, PodaciOAutomobilu.DodatneInformacije, "Emisiona klasa motora");
                    string pogon          = DajPodatakIzDokumenta(ref dok, PodaciOAutomobilu.DodatneInformacije, "Pogon");
                    string menjac         = DajPodatakIzDokumenta(ref dok, PodaciOAutomobilu.DodatneInformacije, "Menjač");
                    string brojVrata      = DajPodatakIzDokumenta(ref dok, PodaciOAutomobilu.DodatneInformacije, "Broj vrata").Replace(" vrata", "");
                    string brojSedistaStr = DajPodatakIzDokumenta(ref dok, PodaciOAutomobilu.DodatneInformacije, "Broj sedišta", "0");
                    byte   brojSedista    = 0;
                    try
                    {
                        if (brojSedistaStr.IndexOf(' ') > 0)
                        {
                            brojSedista = byte.Parse(brojSedistaStr.Remove(brojSedistaStr.IndexOf(' ')));
                        }
                        else
                        if (!brojSedistaStr.Equals(string.Empty))
                        {
                            brojSedista = byte.Parse(brojSedistaStr);
                        }
                    }
                    catch (Exception ex)
                    {
                        greske.AppendLine("Nisam mogao da pročitam polje 'Broj sedišta': " + ex.Message);
                    }
                    string   stranaVolana  = DajPodatakIzDokumenta(ref dok, PodaciOAutomobilu.DodatneInformacije, "Strana volana");
                    string   klima         = DajPodatakIzDokumenta(ref dok, PodaciOAutomobilu.DodatneInformacije, "Klima");
                    string   boja          = DajPodatakIzDokumenta(ref dok, PodaciOAutomobilu.DodatneInformacije, "Boja");
                    DateTime registrovanDo = DateTime.MinValue;
                    try
                    {
                        string regDoStr = DajPodatakIzDokumenta(ref dok, PodaciOAutomobilu.DodatneInformacije, "Registrovan do", DateTime.MinValue.ToShortDateString()).TrimEnd('.');
                        DateTime.TryParse(regDoStr, out registrovanDo);
                    }
                    catch (Exception ex)
                    {
                        greske.AppendLine("Nisam mogao da pročitam polje 'Registrovan do': " + ex.Message);
                    }
                    string porekloVozila = DajPodatakIzDokumenta(ref dok, PodaciOAutomobilu.DodatneInformacije, "Poreklo vozila");

                    // Sigurnost

                    // Oprema

                    // Opis
                    string opis = DajPodatakIzDokumenta(ref dok, PodaciOAutomobilu.Opis);

                    //kontakt
                    string kontakt = DajPodatakIzDokumenta(ref dok, PodaciOAutomobilu.Kontakt).Replace("(Pogledajte mapu)\r\n", "");

                    automobil = new Automobil(brojOglasa, naslov, cena, adresa, vozilo, marka, model, godinaProizvodnje, karoserija,
                                              gorivo, fiksnaCena, zamena, datumPostavljanja, kubikaza, snagaKW, snagaKS, kilometraza, emisionaKlasa, pogon,
                                              menjac, brojVrata, brojSedista, stranaVolana, klima, boja, registrovanDo, porekloVozila, opis, kontakt);

                    if (greske.Length > 0)
                    {
                        string upozorenje = string.Format("Greške pri parsiranju oglasa {0}, URL: {1}\n", automobil.BrojOglasa, automobil.URL) + greske;
                        Dnevnik.PisiSaThredomUpozorenje(upozorenje);
                        Dnevnik.PisiSaThredomUpozorenje("Sadržaj strane: " + Sadrzaj);
                        //EventLogger.WriteEventWarning(upozorenje);
                    }
                }
                catch (Exception ex)
                {
                    EventLogger.WriteEventError("Greška pri parsiranju strane oglasa: " + adresa, ex);
                }
            }
            else
            {
                throw new StranaNijeProcitanaException();
            }
        }