示例#1
0
        public IActionResult Edit(RestaurantEditViewModel rsVM)
        {
            string xmlFilePath = Path.GetFullPath("Data/resturant_reviews.xml");

            try
            {
                restaurantReviews restaurantReviews = null;
                using (FileStream xs = new FileStream(xmlFilePath, FileMode.Open))
                {
                    XmlSerializer serializor = new XmlSerializer(typeof(restaurantReviews));
                    restaurantReviews = (restaurantReviews)serializor.Deserialize(xs);
                }
                restaurantReviewsRestaurant restaurant = restaurantReviews.restaurant[rsVM.Id];

                restaurant.name                       = rsVM.Name;
                restaurant.address.street             = rsVM.StreetAddress;
                restaurant.address.city               = rsVM.City;
                restaurant.address.state_province     = rsVM.ProvinceState;
                restaurant.address.postalCode         = rsVM.PostalZipCode;
                restaurant.reviews.rivew.summary      = rsVM.Summary;
                restaurant.reviews.rivew.rating.Value = (byte)rsVM.Rating;

                using (FileStream xs = new FileStream(xmlFilePath, FileMode.Create))
                {
                    XmlSerializer serializor = new XmlSerializer(typeof(restaurantReviews));
                    serializor.Serialize(xs, restaurantReviews);
                }
            }
            catch
            {
                return(RedirectToAction("Error"));
            }
            return(RedirectToAction("Index"));
        }
示例#2
0
        public IActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("Error"));
            }

            string xmlFilePath = Path.GetFullPath("Data/resturant_reviews.xml");

            restaurantReviews restaurantReviews = null;

            using (FileStream xs = new FileStream(xmlFilePath, FileMode.Open))
            {
                XmlSerializer serializor = new XmlSerializer(typeof(restaurantReviews));
                restaurantReviews = (restaurantReviews)serializor.Deserialize(xs);
            }
            if (id.Value < 0 || id.Value >= restaurantReviews.restaurant.Length)
            {
                return(RedirectToAction("Error"));
            }
            restaurantReviewsRestaurant restaurant = restaurantReviews.restaurant[id.Value];
            RestaurantEditViewModel     rest       = RestaurantEditViewModel.GetRestaurantEditViewModel(restaurant);

            return(View(rest));
        }
示例#3
0
        public IActionResult Index()
        {
            string xmlFilePath = Path.GetFullPath("Data/resturant_reviews.xml");

            restaurantReviews restaurantReviews = null;

            using (FileStream xs = new FileStream(xmlFilePath, FileMode.Open))
            {
                XmlSerializer serializor = new XmlSerializer(typeof(restaurantReviews));
                restaurantReviews = (restaurantReviews)serializor.Deserialize(xs);
            }
            List <RestaurantOverviewViewModel> overviews = RestaurantOverviewViewModel.GetRestaurantOverviews(restaurantReviews);

            return(View(overviews));
        }
        public static List <RestaurantOverviewViewModel> GetRestaurantOverviews(restaurantReviews reviews)
        {
            List <RestaurantOverviewViewModel> overviews = new List <RestaurantOverviewViewModel>();
            int id = 0;

            foreach (restaurantReviewsRestaurant rs in reviews.restaurant)
            {
                RestaurantOverviewViewModel overview = new RestaurantOverviewViewModel();
                overview.Id       = id++;
                overview.Name     = rs.name;
                overview.FoodType = rs.reviews.rivew.food;
                decimal maxCost = rs.reviews.rivew.priceRange.maxExclusive == 0 ? 5 : rs.reviews.rivew.priceRange.maxExclusive;
                overview.Cost = rs.reviews.rivew.priceRange.Value / maxCost * 5;

                decimal maxRating = rs.reviews.rivew.rating.maxExclusive == 0 ? 5 : rs.reviews.rivew.rating.maxExclusive;
                overview.Rating = rs.reviews.rivew.rating.Value / maxRating * 5;

                overview.City          = rs.address.city;
                overview.ProvinceState = rs.address.state_province.ToString();

                overviews.Add(overview);
            }
            return(overviews);
        }