//Funkcija koja se poziva iz web dijela aplikacije public List <Nekretnine> GetSlicneProizvode(int nekretninaID, int korisnikID) { UcitajProizvode(nekretninaID); List <Ocjene> ocjene = con.Ocjene.Where(x => x.NekretninaID == nekretninaID).OrderBy(x => x.KupacID).ToList(); List <Ocjene> zajednickeOcjene1 = new List <Ocjene>(); List <Ocjene> zajednickeOcjene2 = new List <Ocjene>(); List <Nekretnine> preporuceno = new List <Nekretnine>(); //Prva petlja - lista svih proizvoda (ne uključujući onaj koji je proslijeđen u funkciju) foreach (var item in tempUsluge) { foreach (Ocjene o in ocjene) //Sve ocjene aktivnog proizvoda { //Provjeriti da li je naredni proizvod (iz liste proizvodi) ocijenio isti kupac if (item.Value.Where(x => x.KupacID == o.KupacID).Count() > 0) { zajednickeOcjene1.Add(o); zajednickeOcjene2.Add(item.Value.Where(x => x.KupacID == o.KupacID).First()); } } //Za računanje sličnosti se uzimaju samo zajedničke ocjene, odnosno ocjene istih kupaca za oba proizvoda double slicnost = GetSlicnost(zajednickeOcjene1, zajednickeOcjene2); if (slicnost > 0.6) //Granična vrijednost (treshold) { preporuceno.Add(DANekretnine.SelectById(item.Key)); } zajednickeOcjene1.Clear(); zajednickeOcjene2.Clear(); } List <Ocjene> ocjenePacijenta = con.Ocjene.Where(x => x.KupacID == korisnikID).ToList(); foreach (Ocjene oc in ocjenePacijenta) { Nekretnine idNekretnine = oc.Nekretnine; preporuceno.Remove(idNekretnine); } //Lista preporučenih proizvoda return(preporuceno); }
public void ProcessRequest(HttpContext context) { if (context.Request["id"] != null) { int nekretninaID = Convert.ToInt32(context.Request["id"]); if (nekretninaID > 0) { Nekretnine n = DANekretnine.SelectById(nekretninaID); if (n.SlikaThumb != null) { context.Response.ContentType = "image/jpg"; context.Response.BinaryWrite(n.SlikaThumb); } } } }
protected void btnKorpa_Click(object sender, EventArgs e) { if (Page.User.Identity.IsAuthenticated) { if (narudzba == null) { narudzba = new Narudzbe(); narudzba.Datum = DateTime.Now; narudzba.KupacID = Convert.ToInt32(Page.User.Identity.Name); Random rnd = new Random(); int prvi = rnd.Next(1, 445); narudzba.BrojNarudzbe = Convert.ToString(prvi); narudzba.Status = true; narudzba.Otkazano = false; } foreach (NarudzbaStavke s in narudzba.NarudzbaStavke) { if (s.NekretninaID == nekretninaID) { s.Kolicina += 1; return; } } NarudzbaStavke narudzbaStavke = new NarudzbaStavke(); narudzbaStavke.NekretninaID = nekretninaID; narudzbaStavke.Nekretnine = DANekretnine.SelectById(nekretninaID); narudzbaStavke.Kolicina = 1; narudzba.NarudzbaStavke.Add(narudzbaStavke); if (narudzba != null) { ((HyperLink)(this.Master.FindControl("linkKorpa"))).Text = string.Format("{0}", "Korpa (" + narudzba.NarudzbaStavke.Count + ")"); } } else { Response.Redirect("/KorisniciSistema/Prijava.aspx"); } }