public async Task <IHttpActionResult> GetEvaluation(int profid, int bookid) { BookUserLike bookUserLike = await db.BookUserLike.FindAsync(bookid, profid); if (bookUserLike == null) { return(NotFound()); } return(Ok(bookUserLike)); }
public async Task <IHttpActionResult> UpDateRate(int bookid, int profid, BookUserLike bookUserLike) { if (bookid.Equals(0) && profid.Equals(0)) { return(BadRequest()); } if (bookid.Equals(0) || profid.Equals(0)) { //check if model state contains only Foreign Ids var pid = bookUserLike.Profile.F_Id; var bid = bookUserLike.Book.F_Id; if (pid != null && bid != null) { bookUserLike.BookId = _booksController.GetBookId(bid); bookUserLike.ProfileId = _profilesController.GetProfileId(pid); //update also the parameters bookid = bookUserLike.BookId; profid = bookUserLike.ProfileId; bookUserLike.Profile = null; bookUserLike.Book = null; } else { return(BadRequest(ModelState)); } } if (bookid != bookUserLike.BookId) { return(BadRequest()); } if (profid != bookUserLike.ProfileId) { return(BadRequest()); } db.Entry(bookUserLike).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!BookUserLikeExists(bookid) || !BookUserLikeExists(profid)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public async Task <IHttpActionResult> PostBookUserLike(BookUserLike bookUserLike) { if (bookUserLike.BookId.Equals(0) && bookUserLike.ProfileId.Equals(0)) { //check if model state contains only Foreign Ids var pid = bookUserLike.Profile.F_Id; var bid = bookUserLike.Book.F_Id; if (pid != null && bid != null) { bookUserLike.BookId = _booksController.GetBookId(bid); bookUserLike.ProfileId = _profilesController.GetProfileId(pid); bookUserLike.Profile = null; bookUserLike.Book = null; } else { return(BadRequest(ModelState)); } } db.BookUserLike.Add(bookUserLike); try { await db.SaveChangesAsync(); } catch (DbUpdateException exception) { var msg = exception.Message; if (BookUserLikeExists(bookUserLike.BookId)) { return(Conflict()); } else { throw; } } return(CreatedAtRoute("DefaultApi", new { id = bookUserLike.BookId }, bookUserLike)); }
private List <BookUserLike> GetRecommendations(int id) { var pathToDataFile = Path.Combine(System.Web.HttpRuntime.AppDomainAppPath, "data/ratings.txt"); //create the reccomend engine var recommender = CreateRecommender(pathToDataFile); //fetch results for specific user 7results var recommendedItems = recommender.Recommend(id, 7); var recomendList = new List <BookUserLike>(); foreach (var ritem in recommendedItems) { var userlike = new BookUserLike { BookId = (int)ritem.GetItemID(), ProfileId = id, Value = (int)Math.Round(ritem.GetValue(), MidpointRounding.AwayFromZero), Scale = 5 }; recomendList.Add(userlike); } return(recomendList); }