Ejemplo n.º 1
0
        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));
        }