예제 #1
0
 public JsonResult Recomendation([FromBody] RecomendationViewModel vm)
 //public IActionResult Recomendation( int? teamSize,bool innovation, bool clearCutIdea,bool regularCommunication,bool customerPartner)
 {
     //vm.Ratings=new List<Rating>() {
     //    new Rating("Kanban",65),
     //    new Rating("Scrum",55),
     //    new Rating("Waterfall",10),
     //    };
     vm.Scrum = 75;
     return(Json(vm));
 }
예제 #2
0
        public IActionResult Get(string city)
        {
            RecomendationViewModel        model             = null;
            List <RecomendationViewModel> temp              = new List <RecomendationViewModel>();
            List <RecomendationViewModel> recomendationList = new List <RecomendationViewModel>();
            List <string>  imageList     = new List <string>();
            int            reviewcount   = 0;
            int            Averagereview = 0;
            List <Parking> parkings      = null;

            var image1 = "lib/assets/images/g5.jfif";
            var image2 = "lib/assets/images/g9.jpg";
            var image3 = "lib/assets/images/g3.jfif";
            var image4 = "lib/assets/images/g6.jpeg";

            imageList.Add(image1);
            imageList.Add(image2);
            imageList.Add(image3);
            imageList.Add(image4);

            if (!(city.Equals("null")))
            {
                parkings = _context.parkings.Where(p => p.City == city)
                           .ToList();
            }
            else
            {
                parkings = _context.parkings.ToList();
            }

            foreach (var parking in parkings)
            {
                var reviews = _context.parkingReviews.
                              Where(p => p.Parking.ParkingId == parking.ParkingId).ToList();

                for (int reviewloop = 0; reviewloop < reviews.Count; reviewloop++)
                {
                    reviewcount = reviewcount + reviews[reviewloop].ReviewInNumbers;

                    if (reviewloop == (reviews.Count) - 1)
                    {
                        Averagereview = reviewcount / reviews.Count;
                    }

                    model = new RecomendationViewModel()
                    {
                        Parking       = parking.Name,
                        Id            = parking.ParkingId,
                        AverageReview = Averagereview
                    };
                }
                temp.Add(model);
                reviewcount   = 0;
                Averagereview = 0;
            }

            var finalresult = temp.OrderByDescending(p => p.AverageReview).ToList();
            var image       = imageList.ToList();

            for (int recomndedloop = 0; recomndedloop < finalresult.Count(); recomndedloop++)
            {
                model = new RecomendationViewModel()
                {
                    Parking       = finalresult[recomndedloop].Parking,
                    Id            = finalresult[recomndedloop].Id,
                    AverageReview = finalresult[recomndedloop].AverageReview,
                    Image         = imageList[recomndedloop]
                };

                recomendationList.Add(model);
            }

            return(new OkObjectResult(recomendationList));
        }