public async Task <ObjectResult> PostRating(string name, [FromBody] RatingJson body) { Programme ratedProgramme = DbContext.Programmes.FirstOrDefault(prog => prog.Id == body.Id); if (ratedProgramme != null) { User user = DbContext.Users .Include(u => u.Ratings) .ThenInclude(r => r.RelProgramme) .ThenInclude(prog => prog.ProgrammesFeatures) .ThenInclude(pf => pf.RelFeature) .Single(u => u.Login == name); Rating existing_rating = DbContext.Ratings.SingleOrDefault(r => r.ProgrammeId == body.Id && r.UserLogin == name); Rating new_rating = new Rating() { ProgrammeId = body.Id, RelProgramme = ratedProgramme, RatingValue = body.RatingValue, UserLogin = name }; if (existing_rating == null) { DbContext.Ratings.Add(new_rating); } else { existing_rating.RatingValue = body.RatingValue; } user = recommendations.UpdateWeights(ratedProgramme, user, body.RatingValue); LogService.Log($"Weights: {user.WeightCategory} {user.WeightActor} {user.WeightCountry} {user.WeightDirector} {user.WeightYear}"); DbContext.SaveChanges(); return(StatusCode(200, new RatingJson() { Id = new_rating.ProgrammeId, RatingValue = new_rating.RatingValue })); } return(StatusCode(404, "Program nie istnieje")); }
public async Task <ObjectResult> PostNotification(string name, [FromBody] RatingJson body) { Emission remindMeOf = DbContext.Emissions.FirstOrDefault(em => em.Id == body.Id); if (remindMeOf != null) { Notification new_reminder = new Notification() { Id = updateService.GetNewId(DbContext.Notifications), EmissionId = body.Id, RelEmission = remindMeOf, UserLogin = name }; DbContext.Notifications.Add(new_reminder); DbContext.SaveChanges(); return(StatusCode(200, new RatingJson() { Id = new_reminder.EmissionId, RatingValue = 1 })); } return(StatusCode(404, "Program nie istnieje")); }