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")); }
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)); }
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); }