Esempio n. 1
0
        public void UcitajProizvode(int proizvodId)
        {
            if (proizvodId == 0)
            {
                List <Database.Proizvod> sviProizvodi = _context.Proizvod.ToList();
                foreach (var prz in sviProizvodi)
                {
                    OnlineGym_Model.Proizvod tempProizvod = _mapper.Map <OnlineGym_Model.Proizvod>(prz);
                    ostaliProizvodi.Add(tempProizvod);
                }
            }
            else
            {
                List <Database.Proizvod> listaProizvoda = _context.Proizvod.Where(p => p.ProizvodId != proizvodId).ToList();


                var query = _context.Set <Database.Proizvod>().AsQueryable();
                query = query.Where(x => x.ProizvodId != proizvodId);
                var list = query.ToList();


                List <Database.RecenzijeProizvoda> ocjene;


                foreach (Database.Proizvod p in listaProizvoda)
                {
                    ocjene = _context.RecenzijeProizvoda.Where(r => r.ProizvodId == p.ProizvodId).OrderBy(r => r.ClanId).ToList();

                    if (ocjene.Count > 0)
                    {
                        proizvodi.Add(p.ProizvodId, ocjene);
                    }
                }
            }
        }
Esempio n. 2
0
        public List <OnlineGym_Model.Proizvod> Get(OnlineGym_Model.Proizvod proizvod)
        {
            if (proizvod.ProizvodId != 0)
            {
                UcitajProizvode(proizvod.ProizvodId);
                List <Database.RecenzijeProizvoda> ocjenePosmatranogProizvoda = _context.RecenzijeProizvoda.Where(p => p.ProizvodId == proizvod.ProizvodId).OrderBy(p => p.ClanId).ToList();


                List <Database.RecenzijeProizvoda> zajednickeOcjene1 = new List <Database.RecenzijeProizvoda>();
                List <Database.RecenzijeProizvoda> zajednickeOcjene2 = new List <Database.RecenzijeProizvoda>();

                List <OnlineGym_Model.Proizvod> preporuceniProizvodi = new List <OnlineGym_Model.Proizvod>();

                foreach (var p in proizvodi)
                {
                    foreach (Database.RecenzijeProizvoda o in ocjenePosmatranogProizvoda)
                    {
                        if (p.Value.Where(x => x.ClanId == o.ClanId).Count() > 0)
                        {
                            zajednickeOcjene1.Add(o);
                            zajednickeOcjene2.Add(p.Value.Where(x => x.ClanId == o.ClanId).First());
                        }
                    }
                    double slicnost = GetSlicnost(zajednickeOcjene1, zajednickeOcjene2);
                    if (slicnost > 0.5)
                    {
                        var entityTemp = _context.Proizvod.Find(p.Key);
                        OnlineGym_Model.Proizvod ProizvodTemp = _mapper.Map <OnlineGym_Model.Proizvod>(entityTemp);
                        preporuceniProizvodi.Add(ProizvodTemp);
                    }
                    zajednickeOcjene1.Clear();
                    zajednickeOcjene2.Clear();
                }

                return(preporuceniProizvodi);
            }
            else
            {
                List <OnlineGym_Model.Proizvod> preporuceniProizvodii = new List <OnlineGym_Model.Proizvod>();
                var query = _context.Set <Database.Proizvod>().AsQueryable();
                query = query.Where(x => x.ProizvodId != proizvod.ProizvodId && x.ProsjecnaOcjena > 4);
                var list = query.ToList();
                foreach (Database.Proizvod item in list)
                {
                    OnlineGym_Model.Proizvod temp = _mapper.Map <OnlineGym_Model.Proizvod>(item);
                    preporuceniProizvodii.Add(temp);
                }
                return(preporuceniProizvodii);
            }
        }