public HubPageViewModel.ProfileInfo GetProfileData(int id, int userid) { HubPageViewModel.ProfileInfo profil = db.Korisnics.Where(x => x.Id == id).Select(z => new HubPageViewModel.ProfileInfo { KorisnikID = z.Id, username = z.username, Joined = z.created_at, Grad = z.Grad, FriendCount = z.Prijateljstvos.Count(), ImePrezime = z.Ime + " " + z.Prezime, Email = z.Email }).FirstOrDefault(); int br = db.Prijateljstvos.Where(x => x.Korisnik1ID == userid && x.Korisnik2ID == id).Count(); profil.IsFriend = br > 0; List <HubPageViewModel.ShelvesInfo.ShelfInfo> police = db.Policas.Where(x => x.KorisnikID == id).Select(p => new HubPageViewModel.ShelvesInfo.ShelfInfo { BookCount = p.Knjigas.Count(), KorisnikID = p.KorisnikID, Naziv = p.Naziv, ShelfID = p.Id }).ToList(); HubPageViewModel.ShelvesInfo.ShelfInfo polica = police.Where(x => x.Naziv == "Currently Reading").FirstOrDefault(); if (polica != null) { Polica gk = db.Policas.Include("Knjigas").Where(c => c.Id == polica.ShelfID).FirstOrDefault(); List <Knjiga> curb = gk.Knjigas; if (curb != null) { profil.CurrentlyReadingBooks = new List <HubPageViewModel.ProfileInfo.BookInfo>(); profil.CurrentlyReadingBooks = curb.Select(k => new HubPageViewModel.ProfileInfo.BookInfo { Autor = "Neki Autor", KnjigaID = k.Id, Naslov = k.Naslov, Slika = k.Slika }).ToList(); } else { profil.CurrentlyReadingBooks = null; } } else { profil.CurrentlyReadingBooks = null; } return(profil); }
private void GridView_ItemClick(object sender, ItemClickEventArgs e) { HubPageViewModel.ShelvesInfo.ShelfInfo p = (HubPageViewModel.ShelvesInfo.ShelfInfo)e.ClickedItem; if (p.BookCount > 0) { Frame.Navigate(typeof(PolicaDetalji), p.ShelfID); } else { MessageDialog msg = new MessageDialog("Prazna polica!"); msg.ShowAsync(); } }
private void ListView_ItemClick(object sender, ItemClickEventArgs e) { HubPageViewModel.ShelvesInfo.ShelfInfo item = (HubPageViewModel.ShelvesInfo.ShelfInfo)e.ClickedItem; HttpResponseMessage response = btnService.GetResponse(item.ShelfID + "/" + KnjigaID); if (response.IsSuccessStatusCode) { MessageDialog msg = new MessageDialog("Knjiga uspješno dodana u policu!"); msg.ShowAsync(); } Hide(); }
public HubPageViewModel GetHubData(int userid) { HubPageViewModel defaultViewModel = new HubPageViewModel(); defaultViewModel.BookShelves = new HubPageViewModel.ShelvesInfo(); defaultViewModel.BookShelves.Shelves = db.Policas.Where(x => x.KorisnikID == userid).Select(y => new HubPageViewModel.ShelvesInfo.ShelfInfo { KorisnikID = y.KorisnikID, Naziv = y.Naziv, ShelfID = y.Id, BookCount = y.Knjigas.Count() }).ToList(); defaultViewModel.Profile = new HubPageViewModel.ProfileInfo(); defaultViewModel.Profile = db.Korisnics.Include("Prijateljstvos").Where(x => x.Id == userid).Select(z => new HubPageViewModel.ProfileInfo { KorisnikID = z.Id, username = z.username, Joined = z.created_at, Grad = z.Grad, FriendCount = db.Prijateljstvos.Where(p => p.Korisnik1ID == userid).Count(), Email = z.Email, ImePrezime = z.Ime + " " + z.Prezime }).FirstOrDefault(); HubPageViewModel.ShelvesInfo.ShelfInfo polica = defaultViewModel.BookShelves.Shelves.Where(x => x.Naziv == "Currently Reading").FirstOrDefault(); if (polica != null) { Polica p = db.Policas.Include("Knjigas").Where(c => c.Id == polica.ShelfID).FirstOrDefault(); List <Knjiga> curb = p.Knjigas; if (curb != null) { defaultViewModel.Profile.CurrentlyReadingBooks = new List <HubPageViewModel.ProfileInfo.BookInfo>(); defaultViewModel.Profile.CurrentlyReadingBooks = curb.Select(k => new HubPageViewModel.ProfileInfo.BookInfo { Autor = db.Autors.Find(k.AutorId).Ime + " " + db.Autors.Find(k.AutorId).Prezime, KnjigaID = k.Id, Naslov = k.Naslov, Slika = k.Slika }).ToList(); } else { defaultViewModel.Profile.CurrentlyReadingBooks = null; } } Helpers.Preporuka preporuka = new Helpers.Preporuka(); List <KnjigaVM> preporuceneKnjige = preporuka.GetPreporuceneKnjige(userid); defaultViewModel.Recommendations = new HubPageViewModel.RecommendationsInfo(); defaultViewModel.Recommendations.RecommendedBooks = preporuceneKnjige.Select(k => new HubPageViewModel.RecommendationsInfo.BookInfo { Autor = k.NazivAutora, KnjigaID = k.Id, Naslov = k.Naslov, Slika = k.Slika }).ToList(); foreach (var k in defaultViewModel.Recommendations.RecommendedBooks) { Knjiga kk = db.Knjigas.Include("Ocjenas").Where(x => x.Id == k.KnjigaID).FirstOrDefault(); k.ProsjecnaOcjena = (float)kk.Ocjenas.Average(a => a.OcjenaIznos); } List <int> ListaPrijatelja = db.Prijateljstvos.Where(x => x.Korisnik1ID == userid).Select(s => s.Korisnik2ID).ToList(); defaultViewModel.Feed = new HubPageViewModel.FeedInfo(); defaultViewModel.Feed.FeedItems = db.TimelineItems.OrderByDescending(r => r.EventDate).Where(g => ListaPrijatelja.Contains(g.KorisnikID)).Select(t => new HubPageViewModel.FeedInfo.FeedItemInfo { EventDescription = t.Korisnik.username + t.EventDescription + " " + t.Knjiga.Ocjenas.Where(o => o.KnjigaID == t.KnjigaID && o.KorisnikID == t.KorisnikID).FirstOrDefault().OcjenaIznos, FeedItemID = t.Id, Slika = t.Knjiga.Slika, EventInformation = t.Knjiga.Naslov, IsOcjena = t.IsOcjena, Autor = t.EventDate.ToString(), KnjigaID = t.KnjigaID, OcjenaID = t.Knjiga.Ocjenas.Where(o => o.KnjigaID == t.KnjigaID && o.KorisnikID == t.KorisnikID).FirstOrDefault().Id }).ToList(); return(defaultViewModel); }