public IHttpActionResult PutPolica(int id, Polica polica) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != polica.Id) { return(BadRequest()); } db.Entry(polica).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!PolicaExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public async Task UpisiPolicu(int idBiblioteke, [FromBody] Polica polica) { var biblioteka = await Context.Biblioteke.FindAsync(idBiblioteke); polica.Biblioteka = biblioteka; Context.Police.Add(polica); await Context.SaveChangesAsync(); }
public async Task <IActionResult> UbaciPolicu([FromBody] Polica p, int id) { p.Biblioteka = await Context.Biblioteke.FindAsync(id); Context.Police.Add(p); p.Biblioteka.Police.Add(p); await Context.SaveChangesAsync(); return(Ok()); }
public async Task <int> UpisPolice(int idBiblioteke, [FromBody] Polica pol) { var bibl = await Context.Biblioteke.FindAsync(idBiblioteke); pol.Biblioteka = bibl; Context.Police.Add(pol); await Context.SaveChangesAsync(); return(pol.ID); }
public bool RemoveKnjiga(int policaid, int knjigaid) { Polica p = db.Policas.Include("Knjigas").Where(x => x.Id == policaid).FirstOrDefault(); Knjiga k = db.Knjigas.Find(knjigaid); p.Knjigas.Remove(k); db.SaveChanges(); return(true); }
public IHttpActionResult GetPolica(int id) { Polica polica = db.Policas.Find(id); if (polica == null) { return(NotFound()); } return(Ok(polica)); }
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); }
// POST: api/Policas /*[ResponseType(typeof(PolicaWM))] * public IHttpActionResult PostPolica(PolicaWM polica) * { * if (!ModelState.IsValid) * { * return BadRequest(ModelState); * } * * db.Policas.Add(polica); * db.SaveChanges(); * * return CreatedAtRoute("DefaultApi", new { id = polica.Id }, polica); * } */ public PolicaWM PostPolica(PolicaWM polica) { Polica p = new Polica(); p.KorisnikID = polica.KorisnikID; p.Naziv = polica.Naziv; db.Policas.Add(p); db.SaveChanges(); return(polica); }
public IHttpActionResult DeletePolica(int id) { Polica polica = db.Policas.Find(id); if (polica == null) { return(NotFound()); } db.Policas.Remove(polica); db.SaveChanges(); return(Ok(polica)); }
public async Task <IActionResult> IzbrisiPolicu(int id) { Polica p = await Context.Police.FindAsync(id); if (p == null) { return(BadRequest(404)); } Context.Police.Remove(p); await Context.SaveChangesAsync(); return(Ok()); }
public async Task <IActionResult> UpisiPolicu(int idBiblioteke, [FromBody] Polica pol) { var bibl = await Context.Biblioteke.FindAsync(idBiblioteke); pol.Biblioteka = bibl; //uslov if (pol.ImePolice == "") { return(StatusCode(406)); } else { Context.Police.Add(pol); await Context.SaveChangesAsync(); return(Ok()); } }
public KnjigaPolicaVM PostKnjiga(KnjigaPolicaVM kp) { Knjiga k = db.Knjigas.Find(kp.knjigaId); Polica p = db.Policas.Find(kp.policaId); p.Knjigas.Add(k); db.Policas.Add(p); TimelineItem ti = new TimelineItem(); ti.EventDate = DateTime.Now; ti.EventDescription = "je dodao u policu"; ti.IsOcjena = false; ti.KnjigaID = kp.knjigaId; ti.KorisnikID = kp.korisnikId; db.TimelineItems.Add(ti); db.SaveChanges(); return(kp); }
public bool AddKnjigaToPolica(int policaid, int knjigaid) { Polica p = db.Policas.Include("Knjigas").Where(x => x.Id == policaid).FirstOrDefault(); Knjiga k = db.Knjigas.Find(knjigaid); p.Knjigas.Add(k); db.SaveChanges(); TimelineItem t = new TimelineItem(); t.EventDate = DateTime.Now; t.EventDescription = " je dodao u policu"; t.IsOcjena = false; t.KnjigaID = k.Id; t.KorisnikID = p.KorisnikID; db.TimelineItems.Add(t); db.SaveChanges(); return(true); }
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); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env, BibliotekaDbContext context) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Home/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); }); var b = new Biblioteka() { Ime = "Pajina Biblioteka", Police = new List <Polica>() }; context.Bibliotekas.Add(b); var p = new Polica() { MaxKnjiga = 10, Name = "Pajine prve knjige", TrenutnoKnjiga = 7 }; b.Police.Add(p); p = new Polica() { MaxKnjiga = 7, Name = "Pajine druge knjige", TrenutnoKnjiga = 4 }; b.Police.Add(p); p = new Polica() { MaxKnjiga = 5, Name = "Pajine trece knjige", TrenutnoKnjiga = 2, BibliotekaId = b.Id }; b.Police.Add(p); b = new Biblioteka() { Ime = "Perina Biblioteka", Police = new List <Polica>() }; context.Bibliotekas.Add(b); p = new Polica() { MaxKnjiga = 3, Name = "Perine prve knjige", TrenutnoKnjiga = 1 }; b.Police.Add(p); p = new Polica() { MaxKnjiga = 4, Name = "Perine druge knjige", TrenutnoKnjiga = 3 }; b.Police.Add(p); p = new Polica() { MaxKnjiga = 10, Name = "Perine trece knjige", TrenutnoKnjiga = 6 }; b.Police.Add(p); context.SaveChanges(); }