private RestaurantDetailViewModel GetDetailViewModel(Restaurant restaurant)
        {
            var detailViewModel = new RestaurantDetailViewModel();

            detailViewModel.Load(restaurant);
            return(detailViewModel);
        }
Esempio n. 2
0
 public JsonResult GetListDealRestaurant(int?restaurantCount)
 {
     try
     {
         var distinctDiscountDetails = _discountDetailRepository.getDistincts();
         IEnumerable <Restaurant> listRestaurants = _restaurantRepository.GetAll().Where(item => distinctDiscountDetails.Any(x => x.discount_detail_user_id.Equals(item.restaurant_user_id)));
         var list = new List <RestaurantDetailViewModel>();
         foreach (var item in listRestaurants)
         {
             var restaurantDetailViewModel = new RestaurantDetailViewModel()
             {
                 Restaurant = item,
                 Discounts  = _discountRepository.GetDiscountsByUser((short)item.restaurant_user_id),
             };
             list.Add(restaurantDetailViewModel);
         }
         var count     = list.Count();
         var countData = count - (9 * restaurantCount);
         var list2     = list.Where(x => x.Restaurant.restaurant_id <= countData && x.Restaurant.restaurant_id >= 1).OrderByDescending(x => x.Restaurant.restaurant_id).Take(9);
         return(Json(JsonFormatter.Format(list2), JsonRequestBehavior.AllowGet));
     }
     catch (Exception e)
     {
         return(Json(new
         {
             success = false,
             ex = e.Message
         }, JsonRequestBehavior.AllowGet));
     }
 }
Esempio n. 3
0
        public ActionResult ListCategoryRestaurant(string location, short category, int?page)
        {
            var listRestaurants      = _restaurantRepository.GetAll().Where(p => p.restaurant_address.Contains(location));
            var listRestaurantByCate = listRestaurants.Where(p => p.restaurant_category_id == category);
            var list = new List <RestaurantDetailViewModel>();

            foreach (var item in listRestaurantByCate)
            {
                var restaurantDetailViewModel = new RestaurantDetailViewModel()
                {
                    Restaurant = item,
                    Discounts  = _discountRepository.GetDiscountsByUser((short)item.restaurant_user_id),
                };
                list.Add(restaurantDetailViewModel);
            }
            if (page > 0)
            {
                page = page;
            }
            else
            {
                page = 1;
            }
            int start = (int)(page - 1) * pageSize;

            ViewBag.pageCurrent = page;
            int   totalPage    = list.Count();
            float totalNumsize = (totalPage / (float)pageSize);
            int   numSize      = (int)Math.Ceiling(totalNumsize);

            ViewBag.numSize = numSize;
            var list2 = list.OrderByDescending(x => x.Restaurant.restaurant_id).Skip(start).Take(pageSize);

            return(View(list2));
        }
Esempio n. 4
0
        public ActionResult Details(int?id, string slug)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Restaurant restaurant = db.Restaurants.Find(id);

            if (restaurant == null)
            {
                return(HttpNotFound());
            }

            if (restaurant.Slug != slug)
            {
                return(RedirectToRoute("restaurantsDetails", new { id = restaurant.IdRestaurant, slug = restaurant.Slug }));
            }

            var panier = (PanierModel)HttpContext.Application[Session.SessionID] ?? new PanierModel();

            RestaurantDetailViewModel restaurantDetailViewModel = new RestaurantDetailViewModel();

            restaurantDetailViewModel.Restaurant   = restaurant;
            restaurantDetailViewModel.Produits     = restaurant.Produits.GroupBy(p => p.Categorie.Nom).ToDictionary(p => p.Key, p => p.ToList());
            restaurantDetailViewModel.Menus        = restaurant.Menus.ToList();
            restaurantDetailViewModel.Panier       = panier;
            restaurantDetailViewModel.UserCanOrder = true;

            if (panier.IdRestaurant != 0 && panier.QuantiteTotale > 0 && panier.IdRestaurant != id)
            {
                restaurantDetailViewModel.UserCanOrder = false;
            }

            return(View(restaurantDetailViewModel));
        }
Esempio n. 5
0
        public IActionResult RestaurantDetail(int id)
        {
            Restaurant restoFromDb       = _restaurantService.Get(id);
            RestaurantDetailViewModel vm = new RestaurantDetailViewModel {
                Naam = restoFromDb.Naam
            };


            return(View(vm));
        }
Esempio n. 6
0
        public ActionResult RestaurantDetail(short id)
        {
            var restaurant = _restaurantRepository.GetById(id);
            var restaurantDetailViewModel = new RestaurantDetailViewModel()
            {
                Restaurant = restaurant,
                Discounts  = _discountRepository.GetDiscountsByUser((short)restaurant.restaurant_user_id),
            };

            return(View(restaurantDetailViewModel));
        }
Esempio n. 7
0
 public JsonResult GetListRestaurantInLocation(string location, int?page)
 {
     Session["location"] = location;
     try
     {
         var listRestaurants = _restaurantRepository.GetAll().Where(p => p.restaurant_address.Contains(location));
         var list            = new List <RestaurantDetailViewModel>();
         foreach (var item in listRestaurants)
         {
             var restaurantDetailViewModel = new RestaurantDetailViewModel()
             {
                 Restaurant = item,
                 Discounts  = _discountRepository.GetDiscountsByUser((short)item.restaurant_user_id),
             };
             list.Add(restaurantDetailViewModel);
         }
         if (page > 0)
         {
             page = page;
         }
         else
         {
             page = 1;
         }
         int start = (int)(page - 1) * pageSize;
         ViewBag.pageCurrent = page;
         int   totalPage    = list.Count();
         float totalNumsize = (totalPage / (float)pageSize);
         int   numSize      = (int)Math.Ceiling(totalNumsize);
         ViewBag.numSize = numSize;
         var list2 = list.OrderByDescending(x => x.Restaurant.restaurant_id).Skip(start).Take(pageSize);
         return(Json(new
         {
             data = JsonFormatter.Format(list2),
             pageCurrent = page,
             numSize = numSize
         }, JsonRequestBehavior.AllowGet));
     }
     catch (Exception e)
     {
         {
             return(Json(new
             {
                 success = false,
                 ex = e.Message
             }, JsonRequestBehavior.AllowGet));
         }
     }
 }
Esempio n. 8
0
        public ActionResult ListRestaurantByDeal(short?discount)
        {
            var listUser = _discountDetailRepository.FindAll(p => p.discount_detail_discount_id == discount).Distinct();
            var list     = new List <RestaurantDetailViewModel>();

            foreach (var item in listUser)
            {
                var restaurantDetailViewModel = new RestaurantDetailViewModel()
                {
                    Restaurant = _restaurantRepository.FindAll(x => x.restaurant_user_id == item.discount_detail_user_id).FirstOrDefault(),
                    Discounts  = _discountRepository.GetDiscountsByUser((short)item.discount_detail_user_id),
                };
                list.Add(restaurantDetailViewModel);
            }
            return(View(list));
        }
Esempio n. 9
0
        public ActionResult ListNearRestaurant()
        {
            var listRestaurants = _restaurantRepository.GetAll().Where(p => p.restaurant_address.Contains("Bắc Từ Liêm"));
            var list            = new List <RestaurantDetailViewModel>();

            foreach (var item in listRestaurants)
            {
                var restaurantDetailViewModel = new RestaurantDetailViewModel()
                {
                    Restaurant = item,
                    Discounts  = _discountRepository.GetDiscountsByUser((short)item.restaurant_user_id),
                };
                list.Add(restaurantDetailViewModel);
            }
            var list2 = list.Take(6);

            return(PartialView(list2));
        }
Esempio n. 10
0
        // GET: Restaurants
        public ActionResult ListDealRestaurant()
        {
            var distinctDiscountDetails = _discountDetailRepository.getDistincts();
            IEnumerable <Restaurant> listRestaurants = _restaurantRepository.GetAll().Where(item => distinctDiscountDetails.Any(x => x.discount_detail_user_id.Equals(item.restaurant_user_id)));
            var list = new List <RestaurantDetailViewModel>();

            foreach (var item in listRestaurants)
            {
                var restaurantDetailViewModel = new RestaurantDetailViewModel()
                {
                    Restaurant = item,
                    Discounts  = _discountRepository.GetDiscountsByUser((short)item.restaurant_user_id),
                };
                list.Add(restaurantDetailViewModel);
            }
            var list2 = list.Take(9);

            return(PartialView(list2));
        }
Esempio n. 11
0
        public BaseResponse <RestaurantDetailViewModel> GetDetail(int id, int languageId = 1, DateTime?activatedDate = null)
        {
            try
            {
                var restaurantDb = _searchContext.Restaurants.Find(id);
                if (restaurantDb == null)
                {
                    return(BaseResponse <RestaurantDetailViewModel> .NotFound());
                }

                var filterDate = activatedDate.HasValue ? activatedDate.GetValueOrDefault() : DateTime.Now.Date;

                //load RestaurantAttributeValues
                _searchContext.RestaurantAttributeValues
                .Where(k => k.RestaurantFid == restaurantDb.Id && (k.EffectiveDate == null || k.EffectiveDate.Value.Date <= filterDate))
                .OrderBy(k => k.AttributeCategoryFid)
                .Load();

                //load Information with InformationDetails
                _searchContext.RestaurantInformations
                .Where(k => k.Deleted == false && k.IsActivated == true && k.RestaurantFid == restaurantDb.Id && (k.ActivatedDate == null || k.ActivatedDate.Value.Date <= filterDate))
                .OrderByDescending(k => k.ActivatedDate)
                .Load();
                var informationDb = restaurantDb.Informations.FirstOrDefault();
                var information   = _mapper.Map <RestaurantInformations, RestaurantInformationViewModel>(informationDb);
                if (informationDb != null)
                {
                    //load InformationDetail with languageId
                    _searchContext.RestaurantInformationDetails
                    .Where(k => k.Deleted == false && k.IsActivated == true && k.InformationFid == informationDb.Id && (k.ActivatedDate == null) || k.ActivatedDate.Value.Date <= filterDate)
                    .OrderBy(k => k.Id)
                    .Load();
                    var informationDetail = informationDb.InformationDetails.Where(k => k.LanguageFid == languageId).Select(k => _mapper.Map <RestaurantInformationDetails, RestaurantInformationDetailViewModel>(k)).FirstOrDefault();
                    if (informationDetail == null && languageId != 1)
                    {
                        informationDetail = informationDb.InformationDetails.Where(k => k.LanguageFid == 1).Select(k => _mapper.Map <RestaurantInformationDetails, RestaurantInformationDetailViewModel>(k)).FirstOrDefault();
                    }

                    information.InformationDetail = informationDetail;
                }

                //Load OtherInformation with languageId
                _searchContext.RestaurantOtherInformations
                .Where(k => k.Deleted == false && k.IsActivated == true && k.RestaurantFid == restaurantDb.Id && k.LanguageFid == languageId && (k.ActivatedDate == null || k.ActivatedDate.Value.Date <= filterDate))
                .OrderByDescending(k => k.ActivatedDate)
                .Load();

                //Load BusinessDays
                _searchContext.RestaurantBusinessDays
                .Include(k => k.BusinessDayOperations)
                .Where(k => k.Deleted == false && k.RestaurantFid == restaurantDb.Id)
                .Load();

                //Load NonBusinessDays
                _searchContext.RestaurantNonBusinessDays
                .Where(k => k.Deleted == false && k.RestaurantFid == restaurantDb.Id)
                .Load();

                //Load FileStream
                _searchContext.RestaurantFileStreams
                .Where(k => k.Deleted == false && k.RestaurantFid == restaurantDb.Id && k.ActivatedDate.Date <= filterDate)
                .OrderByDescending(k => k.ActivatedDate)
                .Load();

                //Topup and load Counter
                var topup = _restaurantCounterService.IncreaseTotalViews(restaurantDb.Id);//Increase TotalViews by 1
                _searchContext.RestaurantCounters
                .Where(k => k.RestaurantId == restaurantDb.Id)
                .Load();

                //Load Menus
                _searchContext.RestaurantMenus
                .Include(k => k.Pricings)
                .Include(k => k.InfoDetails)
                .Where(k => k.Deleted == false && k.IsActive == true && k.RestaurantFid == restaurantDb.Id && k.EffectiveDate == null || k.EffectiveDate.Date <= filterDate)
                .OrderByDescending(k => k.EffectiveDate)
                .Load();

                //Load Reservation fee
                _searchContext.RestaurantReservationFees
                .Where(k => k.Deleted == false && k.RestaurantFid == restaurantDb.Id && (k.EffectiveDate == null || k.EffectiveDate.Date <= filterDate))
                .OrderByDescending(k => k.EffectiveDate)
                .Load();

                var restaurant = _mapper.Map <Restaurants, RestaurantViewModel>(restaurantDb);
                var attributes = (from a in restaurantDb.AttributeValues
                                  join b in _searchContext.RestaurantAttributes on a.AttributeFid equals b.Id
                                  select _mapper.Map <(RestaurantAttributeValues, RestaurantAttributes), RestaurantAttributeValueViewModel>((a, b)))
                                 .ToList();

                var otherInformation = restaurantDb.OtherInformations.Select(k => _mapper.Map <RestaurantOtherInformations, RestaurantOtherInformationViewModel>(k)).FirstOrDefault();
                var bizs             = restaurantDb.BusinessDays.Select(k => _mapper.Map <RestaurantBusinessDays, RestaurantBusinessDayViewModel>(k)).ToList();
                var nonBizs          = restaurantDb.NonBusinessDays.Select(k => _mapper.Map <RestaurantNonBusinessDays, RestaurantNonBusinessDayViewModel>(k)).ToList();
                var fileStreams      = restaurantDb.FileStreams.Select(k => _mapper.Map <RestaurantFileStreams, RestaurantFileStreamViewModel>(k)).ToList();
                var counter          = _mapper.Map <RestaurantCounters, RestaurantCounterViewModel>(restaurantDb.Counter);
                var menus            = restaurantDb.Menus.Select(k => _mapper.Map <RestaurantMenus, RestaurantMenuViewModel>(k)).ToList();
                var fee = _mapper.Map <RestaurantReservationFees, RestaurantReservationFeeViewModel>(restaurantDb.ReservationFees.FirstOrDefault());
                var restaurantDetail = new RestaurantDetailViewModel()
                {
                    Restaurant       = restaurant,
                    AttributeValues  = attributes,
                    Information      = information,
                    OtherInformation = otherInformation,
                    BusinessDays     = bizs,
                    NonBusinessDays  = nonBizs,
                    FileStreams      = fileStreams,
                    Counter          = counter,
                    Menus            = menus,
                    ReservationFee   = fee
                };
                return(BaseResponse <RestaurantDetailViewModel> .Success(restaurantDetail));
            }
            catch (Exception ex)
            {
                return(BaseResponse <RestaurantDetailViewModel> .InternalServerError(message : ex.Message, fullMsg : ex.StackTrace));
            }
        }
Esempio n. 12
0
 public RestaurantDetail(RestaurantDetailViewModel restaurantDetailViewModel)
 {
     InitializeComponent();
     _restaurantDetailViewModel = restaurantDetailViewModel;
 }
 public TableSource(RestaurantDetailViewModel vm)
 {
     _vm = vm;
 }
        public RestaurantsDetailPage(RestaurantDetailViewModel viewModel)
        {
            InitializeComponent();

            BindingContext = this.viewModel = viewModel;
        }