示例#1
0
        public ActionResult Index(string Search)
        {
            using (ReviewsDb db = new ReviewsDb()) {
                // var Restaurant = db.Restaurants.ToList();
                Boolean test = true;
                var     rest = db.Restaurants.Where(p => p.Name.Contains(Search) || Search == null).Include(r => r.Reviews).ToList();
                //   var rest = db.Restaurants.Where(p => p.Name.Contains(Search) || p.Reviews.Count > 0).Include(r => r.Reviews).ToList();
                //                     sourceModel          destinationModel        source
                var vm = Mapper.Map <List <Restaurant>, List <RestaurantListViewModel> >(rest); //mapping fron source to destination using source file

                if (Request.IsAjaxRequest())
                {
                    return(PartialView("_Restaurants", vm)); //(View,Data)
                }
                return(View(vm));

                #region 1000 restaurants

                /*
                 * List<RestaurantListViewModel> RestaurantVm = new List<RestaurantListViewModel>();
                 *
                 *    foreach (var item in Restaurants) {
                 *    RestaurantVm.Add(new RestaurantListViewModel {
                 *        Name = item.Name,
                 *        Id = item.Id,
                 *        ImageUrl = item.ImageUrl,
                 *        Address = item.Address,
                 *        City = item.City,
                 *        State = item.State,
                 *        Zip = item.Zip,
                 *        Phone = item.Phone,
                 *        Web = item.Web,
                 *        AverageScore = item.Reviews.Any() ? item.Reviews.Average(p => p.Rating) : 0,
                 *        CountOfReviews = item.Reviews.Count()
                 *
                 *    }); //WORKS!!!! do for all props
                 * }*/
                #endregion
            }
        }