public void AddRestaurant(Restaurant restaurant, string userName)
        {
            var user = _repo.GetUserByUsername(userName);

            restaurant.UserId = user.Id;
            _repo.AddRestaurant(restaurant);
        }
Beispiel #2
0
        public void AddRestaurantShouldSaveRestaurantInDb()
        {
            //arrange
            var restaurantPoco = new RestaurantPoco
            {
                WebsiteUrl            = "website url",
                MenuUrl               = "menu url",
                Name                  = "name",
                Phone                 = "1234356",
                IsActive              = true,
                FreeShippingThreshold = 543.24,
                ShippingRate          = 14.56
            };

            _mapper.Setup(m => m.MapToPoco(It.IsAny <Restaurant>())).Returns(restaurantPoco);

            //act
            var id = _repo.AddRestaurant(new Restaurant());

            //assert
            var addedRestaurant = _databaseFixture.Db.SingleOrDefault <RestaurantPoco>("SELECT * FROM Restaurants WHERE Id = @0", id);

            _mapper.Verify(m => m.MapToPoco(It.IsAny <Restaurant>()), Times.Once);
            Assert.NotNull(addedRestaurant);
            Assert.Equal(restaurantPoco.WebsiteUrl, addedRestaurant.WebsiteUrl);
            Assert.Equal(restaurantPoco.MenuUrl, addedRestaurant.MenuUrl);
            Assert.Equal(restaurantPoco.Name, addedRestaurant.Name);
            Assert.Equal(restaurantPoco.Phone, addedRestaurant.Phone);
            Assert.Equal(restaurantPoco.IsActive, addedRestaurant.IsActive);
            Assert.Equal(restaurantPoco.FreeShippingThreshold, addedRestaurant.FreeShippingThreshold);
            Assert.Equal(restaurantPoco.ShippingRate, addedRestaurant.ShippingRate);
        }
Beispiel #3
0
        public IRestaurant AddRestaurant(Restaurant restaurant)
        {
            var restaurantId = this.GetRestaurants().Max(r => r.Id) + 1;

            restaurant.Id = restaurantId;
            RestaurantRepository.AddRestaurant(restaurant);
            return(GetRestaurant(restaurantId));
        }
Beispiel #4
0
        public IActionResult AddRestaurant(Restaurant restaurantToAdd)
        {
            var existingRestaurant = _RestaurantRepository.GetSingleRestaurant(restaurantToAdd.RestaurantId);

            if (existingRestaurant == null)
            {
                var restaurant = _RestaurantRepository.AddRestaurant(restaurantToAdd);
                return(Ok(restaurant));
            }
            return(Ok(existingRestaurant));
        }
Beispiel #5
0
 public ActionResult AddRestaurant(RestaurantCreateViewModel model)
 {
     if (ModelState.IsValid)
     {
         if (restauntRepository.AddRestaurant(model))
         {
             TempData["message"] = $"Ресторан успешно создан";
             return(RedirectToAction("GetAllRestaurants", "Restaurant"));
         }
     }
     return(View());
 }
        public void addReservationTest()
        {
            restaurantId = RestaurantRepository.AddRestaurant(prueba);

            res = new Restaurant_res(
                "2019-07-28 00:00",
                1,
                "2019-05-30 00:17",
                5,
                restaurantId);

            addId = ResRestaurantRepository.addReservation(res);
            Assert.True(addId > 0);
        }
Beispiel #7
0
        public void postResRestaurantTest()
        {
            restaurantId = RestaurantRepository.AddRestaurant(restaurant);

            rr.fecha_res   = "2019-07-28 00:00";
            rr.cant_people = 1;
            rr.date        = "2019-05-30 00:17";
            rr.user_id     = 5;
            rr.rest_id     = restaurantId;

            ActionResult <int> addId = controller.Post(rr);

            Assert.NotNull(addId);
        }
        public void AddRestaurant()
        {
            var mockSet = new Mock <DbSet <RestaurantReviewsData.Restaurant> >();

            var mockContext = new Mock <RestaurantReviewsEntities>();

            mockContext.Setup(m => m.Restaurants).Returns(mockSet.Object);

            var service = new RestaurantRepository(mockContext.Object);

            service.AddRestaurant("Subway", "123 That Way", "1233453423");

            mockSet.Verify(m => m.Add(It.IsAny <Restaurant>()), Times.Once());
            mockContext.Verify(m => m.SaveChanges(), Times.Once());
        }
Beispiel #9
0
        public void deleteResRestaurantTest()
        {
            restaurantId = RestaurantRepository.AddRestaurant(restaurant);
            reservation  = new Restaurant_res(
                "2019-07-28 00:00",
                1,
                "2019-05-30 00:17",
                5,
                restaurantId);

            addId = ResRestaurantRepository.addReservation(reservation);
            ActionResult <string> res = controller.Delete(addId);

            Assert.NotNull(res);
        }
Beispiel #10
0
 private void OkButtonNewRestaurant_Click(object sender, EventArgs e)
 {
     if (string.IsNullOrEmpty(NewRestaurantTextBox.Text))
     {
         MessageBox.Show("The restaurant must have a name!");
     }
     else
     {
         var restaurantToAdd = new Restaurant()
         {
             Name         = NewRestaurantTextBox.Text,
             KitchenModel = _kitchenRepository.GetKitchenModel(KitchenModelComboBox.SelectedIndex + 1)
                            // KitchenModel = _restaurantRepository.GetKitchenModel(KitchenModelComboBox.SelectedIndex + 1)
         };
         _restaurantRepository.AddRestaurant(restaurantToAdd);
         Close();
     }
 }
        public void AddRestaurantShouldAdd()
        {
            // arrange
            var options = new DbContextOptionsBuilder <RestaurantReviewsDbContext>()
                          .UseInMemoryDatabase("AddRestaurantShouldAdd")
                          .Options;
            var name       = "Abc";
            var restaurant = new RestaurantReviews.Library.Models.Restaurant {
                Id = 5, Name = name
            };

            using var actContext = new RestaurantReviewsDbContext(options);
            var repo = new RestaurantRepository(actContext, new NullLogger <RestaurantRepository>());

            // act
            repo.AddRestaurant(restaurant);
            repo.Save();

            // assert
            using var assertContext = new RestaurantReviewsDbContext(options);
            var rest = assertContext.Restaurant.First(r => r.Name == name);

            Assert.NotNull(rest);
        }
Beispiel #12
0
        public IActionResult CreateRestaurant(Restaurant resto)
        {
            var result = false;
            var error  = string.Empty;
            RestaurantRepository repository = new RestaurantRepository();

            try
            {
                result = repository.AddRestaurant(resto);
            }
            catch (System.Exception ex)
            {
                error = ex.Message;
            }

            if (result)
            {
                return(Ok());
            }
            else
            {
                return(BadRequest(error));
            }
        }
Beispiel #13
0
        static void Main(string[] args)
        {
            using var dataSource = new RestaurantContext();
            var restaurantRepository = new RestaurantRepository(dataSource);
            var serializer           = new XmlSerializer(typeof(List <Restaurant>));

            Console.WriteLine("Restaurant Reviews");

            while (true)
            {
                Console.WriteLine();
                Console.WriteLine("r:\tDisplay or modify restaurants.");
                Console.WriteLine("a:\tAdd new restaurant.");
                Console.WriteLine();
                Console.Write("Enter valid menu option, or \"q\" to quit: ");
                var input = Console.ReadLine();
                if (input == "r")
                {
                    var restaurants = restaurantRepository.GetRestaurants().ToList();
                    Console.WriteLine();
                    if (restaurants.Count == 0)
                    {
                        Console.WriteLine("No restaurants.");
                    }
                    while (restaurants.Count > 0)
                    {
                        for (var i = 1; i <= restaurants.Count; i++)
                        {
                            var restaurant       = restaurants[i - 1];
                            var restaurantString = $"{i}: \"{restaurant.Name}\"";
                            if (restaurant.Reviews?.Count > 0)
                            {
                                restaurantString += $", with score {restaurant.Score}"
                                                    + $" from {restaurant.Reviews.Count} review";
                                if (restaurant.Reviews.Count > 1)
                                {
                                    restaurantString += "s";
                                }
                            }
                            else
                            {
                                restaurantString += ", with no reviews";
                            }
                            Console.WriteLine(restaurantString);
                        }
                        Console.WriteLine();
                        Console.Write("Enter valid menu option, or \"b\" to go back: ");
                        input = Console.ReadLine();
                        if (int.TryParse(input, out var restaurantNum) &&
                            restaurantNum > 0 && restaurantNum <= restaurants.Count)
                        {
                            var restaurant = restaurants[restaurantNum - 1];
                            var reviews    = restaurant.Reviews;
                            while (true)
                            {
                                Console.WriteLine();
                                var restaurantString = $"\"{restaurant.Name}\"";
                                if (reviews?.Count > 0)
                                {
                                    restaurantString += $", with score {restaurant.Score}"
                                                        + $" from {reviews.Count} review";
                                    if (reviews.Count > 1)
                                    {
                                        restaurantString += "s";
                                    }
                                }
                                else
                                {
                                    restaurantString += ", with no reviews";
                                }
                                Console.WriteLine(restaurantString);
                                Console.WriteLine();
                                if (reviews.Count > 0)
                                {
                                    Console.WriteLine("r:\tDisplay reviews.");
                                }
                                Console.WriteLine("a:\tAdd review.");
                                Console.WriteLine("e:\tEdit.");
                                Console.WriteLine("d:\tDelete.");
                                Console.WriteLine();
                                Console.Write("Enter valid menu option, or \"b\" to go back: ");
                                input = Console.ReadLine();
                                if (input == "r" && reviews.Count > 0)
                                {
                                    while (reviews.Count > 0)
                                    {
                                        Console.WriteLine();
                                        for (var i = 1; i <= reviews.Count; i++)
                                        {
                                            var review = reviews[i - 1];
                                            Console.WriteLine($"{i}:"
                                                              + $" From \"{review.ReviewerName}\""
                                                              + $" with score {review.Score}"
                                                              + $" and text \"{review.Text}\"");
                                        }
                                        Console.WriteLine();
                                        Console.Write("Enter valid menu option,"
                                                      + " or \"b\" to go back: ");
                                        input = Console.ReadLine();
                                        if (int.TryParse(input, out var reviewNum) &&
                                            reviewNum > 0 && reviewNum <= reviews.Count)
                                        {
                                            Console.WriteLine();
                                            Console.WriteLine("e:\tEdit.");
                                            Console.WriteLine("d:\tDelete.");
                                            Console.WriteLine();
                                            Console.Write("Enter valid menu option, "
                                                          + "or \"b\" to go back: ");
                                            input = Console.ReadLine();
                                            if (input == "e")
                                            {
                                                var review    = reviews[reviewNum - 1];
                                                var newReview = new Review {
                                                    Id = review.Id
                                                };
                                                while (newReview.ReviewerName == null)
                                                {
                                                    Console.WriteLine();
                                                    Console.WriteLine("Current reviewer's name: "
                                                                      + review.ReviewerName);
                                                    Console.WriteLine();
                                                    Console.Write("Enter new reviewer's name: ");
                                                    input = Console.ReadLine();
                                                    try
                                                    {
                                                        newReview.ReviewerName = input;
                                                    }
                                                    catch (ArgumentException ex)
                                                    {
                                                        Console.WriteLine(ex.Message);
                                                    }
                                                }
                                                while (newReview.Score == null)
                                                {
                                                    Console.WriteLine();
                                                    Console.WriteLine($"Current score: "
                                                                      + review.Score);
                                                    Console.WriteLine();
                                                    Console.Write("Enter new score: ");
                                                    input = Console.ReadLine();
                                                    try
                                                    {
                                                        newReview.Score = int.Parse(input);
                                                    }
                                                    catch (FormatException ex)
                                                    {
                                                        Console.WriteLine(ex.Message);
                                                    }
                                                    catch (OverflowException ex)
                                                    {
                                                        Console.WriteLine(ex.Message);
                                                    }
                                                    catch (ArgumentException ex)
                                                    {
                                                        Console.WriteLine(ex.Message);
                                                    }
                                                }
                                                while (newReview.Text == null)
                                                {
                                                    Console.WriteLine();
                                                    Console.WriteLine("Current text: " +
                                                                      review.Text);
                                                    Console.WriteLine();
                                                    Console.Write("Enter new text: ");
                                                    input = Console.ReadLine();
                                                    try
                                                    {
                                                        newReview.Text = input;
                                                    }
                                                    catch (ArgumentException ex)
                                                    {
                                                        Console.WriteLine(ex.Message);
                                                    }
                                                }
                                                restaurantRepository.UpdateReview(newReview);
                                                reviews[reviewNum - 1] = newReview;
                                            }
                                            else if (input == "d")
                                            {
                                                restaurantRepository.DeleteReview(reviews[reviewNum - 1].Id);
                                            }
                                            else if (input == "b")
                                            {
                                                break;
                                            }
                                            else
                                            {
                                                Console.WriteLine();
                                                Console.WriteLine($"Invalid input \"{input}\".");
                                            }
                                        }
                                        else if (input == "b")
                                        {
                                            break;
                                        }
                                        else
                                        {
                                            Console.WriteLine();
                                            Console.WriteLine($"Invalid input \"{input}\".");
                                        }
                                    }
                                }
                                else if (input == "a")
                                {
                                    var newReview = new Review();
                                    while (newReview.ReviewerName == null)
                                    {
                                        Console.WriteLine();
                                        Console.Write("Enter reviewer's name: ");
                                        input = Console.ReadLine();
                                        try
                                        {
                                            newReview.ReviewerName = input;
                                        }
                                        catch (ArgumentException ex)
                                        {
                                            Console.WriteLine(ex.Message);
                                        }
                                    }
                                    while (newReview.Score == null)
                                    {
                                        Console.WriteLine();
                                        Console.Write("Enter score: ");
                                        input = Console.ReadLine();
                                        try
                                        {
                                            newReview.Score = int.Parse(input);
                                        }
                                        catch (FormatException ex)
                                        {
                                            Console.WriteLine(ex.Message);
                                        }
                                        catch (OverflowException ex)
                                        {
                                            Console.WriteLine(ex.Message);
                                        }
                                        catch (ArgumentException ex)
                                        {
                                            Console.WriteLine(ex.Message);
                                        }
                                    }
                                    while (newReview.Text == null)
                                    {
                                        Console.WriteLine();
                                        Console.Write("Enter text: ");
                                        input = Console.ReadLine();
                                        try
                                        {
                                            newReview.Text = input;
                                        }
                                        catch (ArgumentException ex)
                                        {
                                            Console.WriteLine(ex.Message);
                                        }
                                    }
                                    restaurantRepository.AddReview(newReview, restaurants[restaurantNum - 1]);
                                }
                                else if (input == "e")
                                {
                                    var newRestaurant = new Restaurant
                                    {
                                        Id      = restaurant.Id,
                                        Reviews = reviews
                                    };
                                    while (newRestaurant.Name == null)
                                    {
                                        Console.WriteLine();
                                        Console.WriteLine($"Current name: {restaurant.Name}");
                                        Console.WriteLine();
                                        Console.Write("Enter the new restaurant's name: ");
                                        input = Console.ReadLine();
                                        try
                                        {
                                            newRestaurant.Name = input;
                                        }
                                        catch (ArgumentException ex)
                                        {
                                            Console.WriteLine(ex.Message);
                                        }
                                    }
                                    restaurant = newRestaurant;
                                    restaurants[restaurantNum - 1] = restaurant;
                                    restaurantRepository.UpdateRestaurant(restaurant);
                                }
                                else if (input == "d")
                                {
                                    restaurantRepository.DeleteRestaurant(restaurants[restaurantNum - 1].Id);
                                    break;
                                }
                                else if (input == "b")
                                {
                                    break;
                                }
                                else
                                {
                                    Console.WriteLine();
                                    Console.WriteLine($"Invalid input \"{input}\".");
                                }
                            }
                        }
                        else if (input == "b")
                        {
                            break;
                        }
                        else
                        {
                            Console.WriteLine();
                            Console.WriteLine($"Invalid input \"{input}\".");
                        }
                    }
                }
                else if (input == "a")
                {
                    var restaurant = new Restaurant();
                    while (restaurant.Name == null)
                    {
                        Console.WriteLine();
                        Console.Write("Enter the new restaurant's name: ");
                        input = Console.ReadLine();
                        try
                        {
                            restaurant.Name = input;
                        }
                        catch (ArgumentException ex)
                        {
                            Console.WriteLine(ex.Message);
                        }
                    }
                    restaurantRepository.AddRestaurant(restaurant);
                }
                else if (input == "q")
                {
                    break;
                }
                else
                {
                    Console.WriteLine();
                    Console.WriteLine($"Invalid input \"{input}\".");
                }
            }
        }
Beispiel #14
0
        static void Main(string[] args)
        {
            var dataSource           = new List <Restaurant>();
            var restaurantRepository = new RestaurantRepository(dataSource);
            var serializer           = new XmlSerializer(typeof(List <Restaurant>));

            Console.WriteLine("Restaurant Reviews");

            while (true)
            {
                Console.WriteLine();
                Console.WriteLine("r:\tDisplay or modify restaurants.");
                Console.WriteLine("a:\tAdd new restaurant.");
                Console.WriteLine("s:\tSave data to disk.");
                Console.WriteLine("l:\tLoad data from disk.");
                Console.WriteLine();
                Console.Write("Enter valid menu option, or \"q\" to quit: ");
                var input = Console.ReadLine();
                if (input == "r")
                {
                    var restaurants = restaurantRepository.GetRestaurants().ToList();
                    Console.WriteLine();
                    if (restaurants.Count == 0)
                    {
                        Console.WriteLine("No restaurants.");
                    }
                    while (restaurants.Count > 0)
                    {
                        for (var i = 1; i <= restaurants.Count; i++)
                        {
                            var restaurant       = restaurants[i - 1];
                            var restaurantString = $"{i}: \"{restaurant.Name}\"";
                            if (restaurant.Reviews?.Count > 0)
                            {
                                restaurantString += $", with score {restaurant.Score}"
                                                    + $" from {restaurant.Reviews.Count} review";
                                if (restaurant.Reviews.Count > 1)
                                {
                                    restaurantString += "s";
                                }
                            }
                            else
                            {
                                restaurantString += ", with no reviews";
                            }
                            Console.WriteLine(restaurantString);
                        }
                        Console.WriteLine();
                        Console.Write("Enter valid menu option, or \"b\" to go back: ");
                        input = Console.ReadLine();
                        if (int.TryParse(input, out var restaurantNum) &&
                            restaurantNum > 0 && restaurantNum <= restaurants.Count)
                        {
                            var restaurant = restaurants[restaurantNum - 1];
                            var reviews    = restaurant.Reviews;
                            while (true)
                            {
                                Console.WriteLine();
                                var restaurantString = $"\"{restaurant.Name}\"";
                                if (reviews?.Count > 0)
                                {
                                    restaurantString += $", with score {restaurant.Score}"
                                                        + $" from {reviews.Count} review";
                                    if (reviews.Count > 1)
                                    {
                                        restaurantString += "s";
                                    }
                                }
                                else
                                {
                                    restaurantString += ", with no reviews";
                                }
                                Console.WriteLine(restaurantString);
                                Console.WriteLine();
                                if (reviews.Count > 0)
                                {
                                    Console.WriteLine("r:\tDisplay reviews.");
                                }
                                Console.WriteLine("a:\tAdd review.");
                                Console.WriteLine("e:\tEdit.");
                                Console.WriteLine("d:\tDelete.");
                                Console.WriteLine();
                                Console.Write("Enter valid menu option, or \"b\" to go back: ");
                                input = Console.ReadLine();
                                if (input == "r" && reviews.Count > 0)
                                {
                                    while (reviews.Count > 0)
                                    {
                                        Console.WriteLine();
                                        for (var i = 1; i <= reviews.Count; i++)
                                        {
                                            var review = reviews[i - 1];
                                            Console.WriteLine($"{i}:"
                                                              + $" From \"{review.ReviewerName}\""
                                                              + $" with score {review.Score}"
                                                              + $" and text \"{review.Text}\"");
                                        }
                                        Console.WriteLine();
                                        Console.Write("Enter valid menu option,"
                                                      + " or \"b\" to go back: ");
                                        input = Console.ReadLine();
                                        if (int.TryParse(input, out var reviewNum) &&
                                            reviewNum > 0 && reviewNum <= reviews.Count)
                                        {
                                            Console.WriteLine();
                                            Console.WriteLine("e:\tEdit.");
                                            Console.WriteLine("d:\tDelete.");
                                            Console.WriteLine();
                                            Console.Write("Enter valid menu option, "
                                                          + "or \"b\" to go back: ");
                                            input = Console.ReadLine();
                                            if (input == "e")
                                            {
                                                var review    = reviews[reviewNum - 1];
                                                var newReview = new Review {
                                                    Id = review.Id
                                                };
                                                while (newReview.ReviewerName == null)
                                                {
                                                    Console.WriteLine();
                                                    Console.WriteLine("Current reviewer's name: "
                                                                      + review.ReviewerName);
                                                    Console.WriteLine();
                                                    Console.Write("Enter new reviewer's name: ");
                                                    input = Console.ReadLine();
                                                    try
                                                    {
                                                        newReview.ReviewerName = input;
                                                    }
                                                    catch (ArgumentException ex)
                                                    {
                                                        Console.WriteLine(ex.Message);
                                                    }
                                                }
                                                while (newReview.Score == null)
                                                {
                                                    Console.WriteLine();
                                                    Console.WriteLine($"Current score: "
                                                                      + review.Score);
                                                    Console.WriteLine();
                                                    Console.Write("Enter new score: ");
                                                    input = Console.ReadLine();
                                                    try
                                                    {
                                                        newReview.Score = int.Parse(input);
                                                    }
                                                    catch (FormatException ex)
                                                    {
                                                        Console.WriteLine(ex.Message);
                                                    }
                                                    catch (OverflowException ex)
                                                    {
                                                        Console.WriteLine(ex.Message);
                                                    }
                                                    catch (ArgumentException ex)
                                                    {
                                                        Console.WriteLine(ex.Message);
                                                    }
                                                }
                                                while (newReview.Text == null)
                                                {
                                                    Console.WriteLine();
                                                    Console.WriteLine("Current text: " +
                                                                      review.Text);
                                                    Console.WriteLine();
                                                    Console.Write("Enter new text: ");
                                                    input = Console.ReadLine();
                                                    try
                                                    {
                                                        newReview.Text = input;
                                                    }
                                                    catch (ArgumentException ex)
                                                    {
                                                        Console.WriteLine(ex.Message);
                                                    }
                                                }
                                                restaurantRepository.UpdateReview(newReview);
                                                reviews[reviewNum - 1] = newReview;
                                            }
                                            else if (input == "d")
                                            {
                                                restaurantRepository.DeleteReview(reviews[reviewNum - 1].Id);
                                                reviews.RemoveAt(reviewNum - 1);
                                            }
                                            else if (input == "b")
                                            {
                                                break;
                                            }
                                            else
                                            {
                                                Console.WriteLine();
                                                Console.WriteLine($"Invalid input \"{input}\".");
                                            }
                                        }
                                        else if (input == "b")
                                        {
                                            break;
                                        }
                                        else
                                        {
                                            Console.WriteLine();
                                            Console.WriteLine($"Invalid input \"{input}\".");
                                        }
                                    }
                                }
                                else if (input == "a")
                                {
                                    var newReview = new Review();
                                    while (newReview.ReviewerName == null)
                                    {
                                        Console.WriteLine();
                                        Console.Write("Enter reviewer's name: ");
                                        input = Console.ReadLine();
                                        try
                                        {
                                            newReview.ReviewerName = input;
                                        }
                                        catch (ArgumentException ex)
                                        {
                                            Console.WriteLine(ex.Message);
                                        }
                                    }
                                    while (newReview.Score == null)
                                    {
                                        Console.WriteLine();
                                        Console.Write("Enter score: ");
                                        input = Console.ReadLine();
                                        try
                                        {
                                            newReview.Score = int.Parse(input);
                                        }
                                        catch (FormatException ex)
                                        {
                                            Console.WriteLine(ex.Message);
                                        }
                                        catch (OverflowException ex)
                                        {
                                            Console.WriteLine(ex.Message);
                                        }
                                        catch (ArgumentException ex)
                                        {
                                            Console.WriteLine(ex.Message);
                                        }
                                    }
                                    while (newReview.Text == null)
                                    {
                                        Console.WriteLine();
                                        Console.Write("Enter text: ");
                                        input = Console.ReadLine();
                                        try
                                        {
                                            newReview.Text = input;
                                        }
                                        catch (ArgumentException ex)
                                        {
                                            Console.WriteLine(ex.Message);
                                        }
                                    }
                                    restaurantRepository.AddReview(newReview, restaurants[restaurantNum - 1]);
                                    reviews.Add(newReview);
                                }
                                else if (input == "e")
                                {
                                    var newRestaurant = new Restaurant
                                    {
                                        Id      = restaurant.Id,
                                        Reviews = reviews
                                    };
                                    while (newRestaurant.Name == null)
                                    {
                                        Console.WriteLine();
                                        Console.WriteLine($"Current name: {restaurant.Name}");
                                        Console.WriteLine();
                                        Console.Write("Enter the new restaurant's name: ");
                                        input = Console.ReadLine();
                                        try
                                        {
                                            newRestaurant.Name = input;
                                        }
                                        catch (ArgumentException ex)
                                        {
                                            Console.WriteLine(ex.Message);
                                        }
                                    }
                                    restaurant = newRestaurant;
                                    restaurantRepository.UpdateRestaurant(restaurant);
                                }
                                else if (input == "d")
                                {
                                    restaurantRepository.DeleteRestaurant(restaurants[restaurantNum - 1].Id);
                                    break;
                                }
                                else if (input == "b")
                                {
                                    break;
                                }
                                else
                                {
                                    Console.WriteLine();
                                    Console.WriteLine($"Invalid input \"{input}\".");
                                }
                            }
                        }
                        else if (input == "b")
                        {
                            break;
                        }
                        else
                        {
                            Console.WriteLine();
                            Console.WriteLine($"Invalid input \"{input}\".");
                        }
                    }
                }
                else if (input == "a")
                {
                    var restaurant = new Restaurant();
                    while (restaurant.Name == null)
                    {
                        Console.WriteLine();
                        Console.Write("Enter the new restaurant's name: ");
                        input = Console.ReadLine();
                        try
                        {
                            restaurant.Name = input;
                        }
                        catch (ArgumentException ex)
                        {
                            Console.WriteLine(ex.Message);
                        }
                    }
                    restaurantRepository.AddRestaurant(restaurant);
                }
                else if (input == "s")
                {
                    Console.WriteLine();
                    var restaurants = restaurantRepository.GetRestaurants().ToList();
                    try
                    {
                        using (var stream = new FileStream("../../../data.xml", FileMode.Create))
                        {
                            serializer.Serialize(stream, restaurants);
                        }
                        Console.WriteLine("Success.");
                    }
                    catch (SecurityException ex)
                    {
                        Console.WriteLine($"Error while saving: {ex.Message}");
                    }
                    catch (IOException ex)
                    {
                        Console.WriteLine($"Error while saving: {ex.Message}");
                    }
                }
                else if (input == "l")
                {
                    Console.WriteLine();
                    List <Restaurant> restaurants;
                    try
                    {
                        using (var stream = new FileStream("../../../data.xml", FileMode.Open))
                        {
                            restaurants = (List <Restaurant>)serializer.Deserialize(stream);
                        }
                        Console.WriteLine("Success.");
                        foreach (var item in restaurantRepository.GetRestaurants())
                        {
                            restaurantRepository.DeleteRestaurant(item.Id);
                        }
                        foreach (var item in restaurants)
                        {
                            restaurantRepository.AddRestaurant(item);
                        }
                    }
                    catch (FileNotFoundException)
                    {
                        Console.WriteLine("No saved data found.");
                    }
                    catch (SecurityException ex)
                    {
                        Console.WriteLine($"Error while loading: {ex.Message}");
                    }
                    catch (IOException ex)
                    {
                        Console.WriteLine($"Error while loading: {ex.Message}");
                    }
                }
                else if (input == "q")
                {
                    break;
                }
                else
                {
                    Console.WriteLine();
                    Console.WriteLine($"Invalid input \"{input}\".");
                }
            }
        }
 public void AddRestaurant(string name, string address, string phone)
 {
     repo.AddRestaurant(name, address, phone);
 }