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));
        }
Exemplo n.º 2
0
        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);
            }
        }