public async Task <object> ServiceView(int id, int userId) { var service = await _servicesService.GetService(id); var categories = await _servicesService.GetCategoryToService(id); if (service == null) { return(JsonResults.Error(errorNum: 404, errorMessage: "Service not found")); } var ratingAvg = await _ratingService.AvgRating(service.Id); var userRating = await _ratingService.GetRatingByuserId(service.Id, userId); if (ratingAvg == null) { ratingAvg = 0; } if (userRating == null) { userRating = 0; } var categoriesView = new List <CategoryViewModel>(); foreach (var item in categories) { categoriesView.Add(new CategoryViewModel { Id = item.Id, Name = item.Name }); } var model = new ServiceCategoryViewModel { Id = service.Id, Name = service.Name, Description = service.Description, Categories = categoriesView, Cost = service.Cost, Floor = service.Floor, Hall = service.Hall, AgeFrom = service.AgeFrom, Rating = ratingAvg != null ? (decimal)ratingAvg : 0, userRating = userRating }; return(JsonResults.Success(model)); }