public async Task <IActionResult> Create(CreateRestaurantViewModel model) { if (ModelState.IsValid) { // get the images // or use IFormFiles instead of HtppPostedFileBase var images = new List <ImageViewModel>(); var files = Request.Form.Files; GetRestaurantImages(model, images, files); // get the working hours var workingHours = new List <WorkingHourViewModel>(); GetWorkingHours(model, workingHours); model.WorkingHours = workingHours; // save await restaurantApi.CreateRestaurant(model); return(RedirectToAction("Success")); } var areas = await restaurantApi.GetAllAreas(); var restaurantCategories = await restaurantApi.GetAllRestaurantCategories(); ViewBag.RestaurantCategoryId = restaurantCategories; ViewBag.AreaId = areas; return(View(model)); }
public async Task UpdateRestaurant(CreateRestaurantViewModel data) { using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri(baseUrl); var httpContent = new StringContent(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json"); HttpResponseMessage msg = await client.PutAsync("restaurants", httpContent); msg.EnsureSuccessStatusCode(); } }
public ActionResult CreateRestaurant(CreateRestaurantViewModel viewModel) { if (!ModelState.IsValid) { return(View("CreateRestaurant", viewModel)); } var restaurant = _mapper.Map <Restaurant>(viewModel); _restaurantService.CreateRestaurant(restaurant); return(RedirectToAction("ListRestaurants")); }
private void GetRestaurantImages(CreateRestaurantViewModel model, List <ImageViewModel> images, Microsoft.AspNetCore.Http.IFormFileCollection files) { if (files != null && files.Any()) { foreach (var file in files) { // save file and get the uri string uri = SaveImageAndGetUri(); var img = new ImageViewModel { ImageUrl = uri, ImagePriority = new Random().Next(1, 10) }; images.Add(img); } model.Images = images; } }
private void GetRestaurantImages(CreateRestaurantViewModel model, List <ImageViewModel> images, Microsoft.AspNetCore.Http.IFormFileCollection files) { if (files != null && files.Any()) { if (model.Images == null || !model.Images.Any() || model.Images.Count != files.Count) { return; } for (int i = 0; i < files.Count; i++) { // save file and get the uri //string uri = SaveRestaurantImageAndGetUri(files[i]); string uri = ImageSave(files[i], "restaurant"); var img = model.Images[i]; img.ImageUrl = uri; images.Add(img); } } }
public async Task <IActionResult> Edit(CreateRestaurantViewModel model) { if (ModelState.IsValid) { var images = new List <ImageViewModel>(); var files = Request.Form.Files; GetRestaurantImages(model, images, files); // save await restaurantApi.UpdateRestaurant(model); return(RedirectToAction("Success")); } // get all areas var areas = await restaurantApi.GetAllAreas(); // get all restaurant categories var restaurantCategories = await restaurantApi.GetAllRestaurantCategories(); ViewBag.RestaurantCategoryId = restaurantCategories; ViewBag.AreaId = areas; return(View(model)); }
public void CreateRestaurant_OnPostViewModel_AddsRestaurant() { _testContext.Restaurants.RemoveRange(_testContext.Restaurants); _testContext.SaveChanges(); var viewModel = new CreateRestaurantViewModel { City = "Some City", Name = "Some Name", PhoneNumber = "12345569", State = "SC", Street = "123 Blah St.", Website = "www.blah.com", ZipCode = 12345 }; var beforeAdd = _testContext.Restaurants.ToList(); _controller.CreateRestaurant(viewModel); var afterAdd = _testContext.Restaurants.ToList(); Assert.IsTrue(beforeAdd.Count + 1 == afterAdd.Count); }
private static void GetWorkingHours(CreateRestaurantViewModel model, List <WorkingHourViewModel> workingHours) { if (!String.IsNullOrEmpty(model.MondayFromHour)) { var wHour = new WorkingHourViewModel { Day = "Monday", FromTime = $"{model.MondayFromHour}:{(String.IsNullOrEmpty(model.MondayFromMinute) ? "00" : model.MondayFromMinute)}", ToTime = $"{model.MondayToHour}:{(String.IsNullOrEmpty(model.MondayToMinute) ? "00" : model.MondayToMinute)}" }; workingHours.Add(wHour); } if (!String.IsNullOrEmpty(model.TuesdayFromHour)) { var wHour = new WorkingHourViewModel { Day = "Tuesday", FromTime = $"{model.TuesdayFromHour}:{(String.IsNullOrEmpty(model.TuesdayFromMinute) ? "00" : model.TuesdayFromMinute)}", ToTime = $"{model.TuesdayToHour}:{(String.IsNullOrEmpty(model.TuesdayToMinute) ? "00" : model.TuesdayToMinute)}" }; workingHours.Add(wHour); } if (!String.IsNullOrEmpty(model.WednesdayFromHour)) { var wHour = new WorkingHourViewModel { Day = "Wednesday", FromTime = $"{model.WednesdayFromHour}:{(String.IsNullOrEmpty(model.WednesdayFromMinute) ? "00" : model.WednesdayFromMinute)}", ToTime = $"{model.WednesdayToHour}:{(String.IsNullOrEmpty(model.WednesdayToMinute) ? "00" : model.WednesdayToMinute)}" }; workingHours.Add(wHour); } if (!String.IsNullOrEmpty(model.ThursdayFromHour)) { var wHour = new WorkingHourViewModel { Day = "Thursday", FromTime = $"{model.ThursdayFromHour}:{(String.IsNullOrEmpty(model.ThursdayFromMinute) ? "00" : model.ThursdayFromMinute)}", ToTime = $"{model.ThursdayToHour}:{(String.IsNullOrEmpty(model.ThursdayToMinute) ? "00" : model.ThursdayToMinute)}" }; workingHours.Add(wHour); } if (!String.IsNullOrEmpty(model.FridayFromHour)) { var wHour = new WorkingHourViewModel { Day = "Friday", FromTime = $"{model.FridayFromHour}:{(String.IsNullOrEmpty(model.FridayFromMinute) ? "00" : model.FridayFromMinute)}", ToTime = $"{model.FridayToHour}:{(String.IsNullOrEmpty(model.FridayToMinute) ? "00" : model.FridayToMinute)}" }; workingHours.Add(wHour); } if (!String.IsNullOrEmpty(model.SaturdayFromHour)) { var wHour = new WorkingHourViewModel { Day = "Saturday", FromTime = $"{model.SaturdayFromHour}:{(String.IsNullOrEmpty(model.SaturdayFromMinute) ? "00" : model.SaturdayFromMinute)}", ToTime = $"{model.SaturdayToHour}:{(String.IsNullOrEmpty(model.SaturdayToMinute) ? "00" : model.SaturdayToMinute)}" }; workingHours.Add(wHour); } if (!String.IsNullOrEmpty(model.SaturdayFromHour)) { var wHour = new WorkingHourViewModel { Day = "Saturday", FromTime = $"{model.SaturdayFromHour}:{(String.IsNullOrEmpty(model.SaturdayFromMinute) ? "00" : model.SaturdayFromMinute)}", ToTime = $"{model.SaturdayToHour}:{(String.IsNullOrEmpty(model.SaturdayToMinute) ? "00" : model.SaturdayToMinute)}" }; workingHours.Add(wHour); } }