public BeverageModelVM(Room2Beverage model, List <ReviewTypeVM> types, List <BeverageReview> allReviews, BeverageReview reviewFromUser = null) { Beverage b = model.Beverage; id = model.Id; beverageId = model.BeverageId; IBU = b.IBU; displayOrder = model.DisplayOrder; name = b.Name; manufacturer = b.Brewery.Name; alcoholPercentage = b.AlcoholPercentage; groupName = b.BeverageGroup.Name; typeName = b.BeverageType.Name; isLocked = model.IsLocked; imageUrlSm = b.LableSm; imageUrlMed = b.LableMed; if (reviewFromUser != null) { review = new BeverageReviewVM(b, types, null, reviewFromUser); } else { review = new BeverageReviewVM(); } if (allReviews.Any()) { finalScore = allReviews.Average(a => a.TotalScore); } else { finalScore = -1; } }
public BeverageDashboardVM(List <ReviewTypeVM> types, Room2Beverage model, List <BeverageReview> reviewFromUser, List <User> users) { Beverage b = model.Beverage; id = model.Id; beverageId = model.BeverageId; IBU = b.IBU; displayOrder = model.DisplayOrder; name = b.Name; desc = b.Description; manufacturer = b.Brewery.Name; alcoholPercentage = b.AlcoholPercentage; groupName = b.BeverageGroup.Name; typeName = b.BeverageType.Name; isLocked = model.IsLocked; imageUrlSm = b.LableSm; imageUrlMed = b.LableSm; if (!String.IsNullOrEmpty(b.LableMed)) { imageUrlMed = b.LableMed; } reviewFinished = model.ReviewFinished; reviews = new List <BeverageReviewVM>(); users.ForEach(a => reviews.Add(new BeverageReviewVM(b, types, a, reviewFromUser.FirstOrDefault(c => c.UserId == a.Id)))); results = new ReviewResults(); if (reviewFinished) { results = new ReviewResults(reviews, types); } }
internal ReviewResults FinishReview(string roomCode, int beerId) { Room room = context.Rooms.FirstOrDefault(a => a.Code == roomCode); Room2Beverage beer = room.Room2Beverages.FirstOrDefault(a => a.BeverageId == beerId); List <BeverageReview> reviews = room.BeverageReviews.Where(a => a.BeverageId == beerId).ToList(); if (!reviews.Any()) { return(new ReviewResults(ResultStatus.ERROR, "No reviews has been added!")); } beer.ReviewFinished = true; List <ReviewTypeVM> reviewTypes = room.Room2ReviewTypes.Select(a => new ReviewTypeVM(a)).ToList(); context.SubmitChanges(); ReviewResults result = new ReviewResults(reviews, reviewTypes); beerhub hub = new beerhub(); hub.PushFinalScore(roomCode, beerId, result.totalScore); return(result); }