Beispiel #1
0
        public IActionResult Details(int restaurantId)
        {
            try
            {
                var restaurant = _restaurantService.GetRestaurantWithDetails(restaurantId);

                var model = new RestaurantDetailsModel
                {
                    RestaurantId = restaurantId,
                    Products     = restaurant.Products.Select(p => new ProductModel
                    {
                        RestaurantId  = p.RestaurantId,
                        ProductId     = p.ProductId,
                        Description   = p.Description,
                        Name          = p.Name,
                        PhotoBytes    = p.Photo,
                        Price         = p.Price,
                        ProductTypeId = p.ProductTypeId,
                        ServingSize   = p.ServingSize,
                        IsVegetarian  = p.IsVegetarian
                    }),
                };

                return(View("~/Views/Restaurant/RestaurantDetails.cshtml", model));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Failed to load retaurant details");
                return(RedirectToAction("Index"));
            }
        }
Beispiel #2
0
        public async Task <IActionResult> UpdateRestaurantDetails(string id, [FromBody] RestaurantDetailsModel detailsModel)
        {
            var details = await _restaurantDetailsRepository.GetRestaurantDetails();

            details.OpeningHour = detailsModel.OpeningHour;
            details.ClosingHour = detailsModel.ClosingHour;
            details.Details     = detailsModel.Details;

            if (details.Address == null)
            {
                var address = new Address()
                {
                    Id      = Guid.NewGuid(),
                    Name    = "RestaurantDetails",
                    City    = await _cityRepository.GetById(detailsModel.Address.City.Id),
                    Country = await _countryRepository.GetById(detailsModel.Address.Country.Id),
                    Street  = detailsModel.Address.Street,
                };
                _addressRepository.Create(address);
                details.Address = address;
            }
            else
            {
                details.Address.Name = detailsModel.Address.Name;
                details.Address.City = await _cityRepository.GetById(detailsModel.Address.City.Id);

                details.Address.Country = await _countryRepository.GetById(detailsModel.Address.Country.Id);

                details.Address.Street = detailsModel.Address.Street;
            }

            _restaurantDetailsRepository.Update(details);

            return(Ok(new { restaurantDetails = details }));
        }
Beispiel #3
0
        private Restaurants SaveRestaurantOperations(string fileBase64, MultipartFormDataStreamProvider provider)
        {
            //get restaurant details model
            RestaurantDetailsModel model = JsonConvert.DeserializeObject <RestaurantDetailsModel>(provider.FormData[0]);

            model.RestaurantThumbnail = fileBase64;

            Restaurants restaurant = new Restaurants()
            {
                RestaurantName = model.RestaurantName
            };

            _restaurantOperations.AddRestaurant(ref restaurant);
            RestaurantAdministrators restAdmin = new RestaurantAdministrators()
            {
                RestaurantId = restaurant.RestaurantId,
                UserID       = model.UserId
            };

            _restaurantOperations.SaveRestaurantAdministrator(restAdmin);

            RestaurantLocations restLoc = new RestaurantLocations()
            {
                RestaurantCity    = model.RestaurantCity,
                RestaurantCounty  = model.RestaurantCounty,
                RestaurantAddress = model.RestaurantAddress,
                RestaurantId      = restaurant.RestaurantId
            };

            _restaurantOperations.SaveRestaurantLocation(restLoc);

            RestaurantDetails restDetails = Mapper.Map <RestaurantDetailsModel, RestaurantDetails>(model);

            restDetails.RestaurantId            = restaurant.RestaurantId;
            restDetails.RestaurantDirectoryGuid = Path.Combine(HttpContext.Current.Server.MapPath("~/App_Data"), "Restaurant_" + restaurant.RestaurantId);
            _restaurantOperations.SaveRestaurantDetails(restDetails);

            RestaurantTypes restType = new RestaurantTypes()
            {
                TypeName     = RestTypesEnum.RestaurantTypes[model.RestaurantTypeId],
                RestaurantId = restaurant.RestaurantId
            };

            _restaurantOperations.SaveRestaurantType(restType);
            return(restaurant);
        }
        public IActionResult Details(int id)
        {
            var restaurant = _restaurantService.GetRestaurantById(id);
            var comments   = _commentService.GetAllCommentsForRestaurant(id);
            var categories = _categoryService.GetCategoriesForRest(id); // Js doing this
            var userRating = 0;

            try
            {
                var userId = Convert.ToInt32(HttpContext.User.FindFirstValue("Id"));
                userRating = _ratingService.GetUserRatingByRestaurantId(id, userId);
            }
            catch (InvalidOperationException)
            {
            }

            var restaurantDetailModel = new RestaurantDetailsModel(restaurant, comments, categories);

            restaurantDetailModel.UserRating = userRating;

            return(View(restaurantDetailModel));
        }
 public RestaurantDetailsEntity MapToRestaurantDetailsEntity(RestaurantDetailsModel restaurantDetails)
 {
     return(Mapper.Map <RestaurantDetailsModel, RestaurantDetailsEntity>(restaurantDetails));
 }
 public bool UpdateDetails(int restaurantId, RestaurantDetailsModel value)
 {
     //var detailsData = _mapper.MapToRestaurantDetailsEntity(value);
     //return _restaurantRepository.UpdateDetails(restaurantId, detailsData);
     return(true);
 }