示例#1
0
        public ActionResult EditRestaurant(Int32?RestaurantId)
        {
            var EditRestaurantViewModel = new EditRestaurantViewModel();

            EditRestaurantViewModel.CargarDatos(CargarDatosContext(), RestaurantId);
            return(View(EditRestaurantViewModel));
        }
示例#2
0
        public IActionResult EditRestaurant(int ID)
        {
            Restaurant restaurantToEdit = context.Restaurants.First(c => c.ID == ID);
            EditRestaurantViewModel editRestaurantViewModel = new EditRestaurantViewModel(context.Categories.ToList())
            {
                Name       = restaurantToEdit.Name,
                CategoryID = restaurantToEdit.CategoryID,
                Notes      = restaurantToEdit.Notes,
                ID         = restaurantToEdit.ID
            };

            return(View(editRestaurantViewModel));
        }
示例#3
0
        public IActionResult EditRestaurant(EditRestaurantViewModel editRestaurantViewModel)
        {
            int        ID = editRestaurantViewModel.ID;
            Restaurant updatedRestaurant = context.Restaurants.First(c => c.ID == ID);

            updatedRestaurant.Name       = editRestaurantViewModel.Name;
            updatedRestaurant.CategoryID = editRestaurantViewModel.CategoryID;
            updatedRestaurant.Notes      = editRestaurantViewModel.Notes;

            context.Restaurants.Update(updatedRestaurant);
            context.SaveChanges();

            return(Redirect("/Restaurant"));
        }
        public ActionResult EditRestaurant(EditRestaurantViewModel postViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View("EditRestaurant", postViewModel));
            }

            var restaurant = _restaurantService.Get(postViewModel.RestaurantPublicId);

            var restaurantToUpdate = _mapper.Map <Restaurant>(new Tuple <EditRestaurantViewModel, Restaurant>(postViewModel, restaurant));

            _restaurantService.UpdateRestaurant(restaurantToUpdate);

            return(RedirectToAction("ListRestaurants"));
        }
示例#5
0
        public async Task <EditRestaurantViewModel> BuildEditRestaurantViewModelAsync(long restaurantId, RestaurantRequest restaurantRequest)
        {
            var restaurant = await GetRestaurantByIdAsync(restaurantId);

            var editRestaurantViewModel = new EditRestaurantViewModel()
            {
                RestaurantRequest = restaurantRequest,
                Meals             = restaurant.Meals,
                RestaurantId      = restaurant.RestaurantId
            };

            await applicationDbContext.SaveChangesAsync();

            return(editRestaurantViewModel);
        }
示例#6
0
        public void ToString_OnCall_ReturnsCorrectInformation()
        {
            var viewModel = new EditRestaurantViewModel
            {
                Name               = "Some Name",
                City               = "Some City",
                PhoneNumber        = "1234567890",
                RestaurantPublicId = Guid.Empty,
                State              = "CA",
                Street             = "123 Whatever Dt.",
                Website            = "www.blah.com",
                ZipCode            = 12345
            };

            Approvals.Verify(viewModel);
        }
示例#7
0
        public IActionResult Create(EditRestaurantViewModel model)
        {
            if (ModelState.IsValid)
            {
                var restaurant = new Models.Restaurant {
                    Name = model.Name, Cuisine = model.Cuisine
                };
                _restaurantAll.Add(restaurant);

                // return View("Details", restaurant);

                return(RedirectToAction("Details", new { id = restaurant.Id })); // TODO :fix redirection to details
            }

            return(View());
        }
示例#8
0
        public async Task <IActionResult> Edit(EditRestaurantViewModel editRestaurantViewModel, long id)
        {
            if (!await restaurantService.ValidateAccessAsync(id, User))
            {
                return(RedirectToAction(nameof(HomeController.Index), "Home"));
            }

            if (ModelState.IsValid)
            {
                await restaurantService.EditRestaurantAsync(id, editRestaurantViewModel.RestaurantRequest);

                return(RedirectToAction(nameof(HomeController.Index), "Home"));
            }
            editRestaurantViewModel = await restaurantService.BuildEditRestaurantViewModelAsync(id, editRestaurantViewModel.RestaurantRequest);

            return(View(editRestaurantViewModel));
        }
示例#9
0
        public async Task <IActionResult> Add(RestaurantRequest restaurantRequest)
        {
            if (ModelState.IsValid)
            {
                await restaurantService.SaveRestaurantAsync(restaurantRequest, User.Identity.Name);

                return(RedirectToAction(nameof(HomeController.Index), "Home"));
            }
            var editRestaurantViewModel = new EditRestaurantViewModel()
            {
                RestaurantRequest = restaurantRequest,
                Meals             = null,
                RestaurantId      = 0
            };

            return(View(editRestaurantViewModel));
        }
示例#10
0
        public void PutRestaurant(EditRestaurantViewModel model)
        {
            if (!ModelState.IsValid)
            {
                throw new Exception("Nie udało się zedytować restauracji");
            }

            var restaurant = restaurantService.GetRestaurant(model.ID);

            if (restaurant == null)
            {
                throw new Exception("Restauracja nie istnieje");
            }

            var updatedRestaurant = Mapper.Map <EditRestaurantViewModel, Restaurant>(model, restaurant);

            restaurantService.EditRestaurant(updatedRestaurant);
        }
示例#11
0
        public void EditRestaurantViewModelShouldBeMappedToRestaurant()
        {
            //Arrange
            var restaurantViewModel = new EditRestaurantViewModel();

            restaurantViewModel.ID         = 999;
            restaurantViewModel.MenuUrl    = "http://menumock.url";
            restaurantViewModel.WebsiteUrl = "http://mock.url";
            restaurantViewModel.Name       = "MockName";
            restaurantViewModel.Phone      = "123456789";

            //Act
            var restaurant = Mapper.DynamicMap <EditRestaurantViewModel, Restaurant>(restaurantViewModel);

            //Assert
            Assert.Equal(restaurant.ID, restaurantViewModel.ID);
            Assert.Equal(restaurant.MenuUrl, restaurantViewModel.MenuUrl);
            Assert.Equal(restaurant.WebsiteUrl, restaurantViewModel.WebsiteUrl);
            Assert.Equal(restaurant.Name, restaurantViewModel.Name);
            Assert.Equal(restaurant.Phone, restaurantViewModel.Phone);

            Assert.IsType <Restaurant>(restaurant);
        }
示例#12
0
        public ActionResult EditRestaurant(EditRestaurantViewModel model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    model.CargarDatos(CargarDatosContext(), model.RestaurantId);
                    TryUpdateModel(model);
                    PostMessage(MessageType.Error, i18n.ValidationStrings.DatosIncorrectos);
                    return(View(model));
                }

                using (TransactionScope transaction = new TransactionScope())
                {
                    var restaurant         = new restaurante();
                    var categoryrestaurant = new restaurante_categoria();

                    if (model.RestaurantId.HasValue)
                    {
                        restaurant         = context.restaurante.First(x => x.id == model.RestaurantId);
                        categoryrestaurant = context.restaurante_categoria.First(x => x.restaurante_id == model.RestaurantId);
                    }
                    else
                    {
                        restaurant.nombre      = model.Nombre;
                        restaurant.descripcion = model.Descripcion;
                        restaurant.latitud     = model.Latitud;
                        restaurant.longitud    = model.Longitud;
                        restaurant.created_by  = Session.GetUsuarioId();
                        restaurant.updated_by  = Session.GetUsuarioId();
                        restaurant.created_at  = DateTime.Now;
                        restaurant.updated_at  = DateTime.Now;
                        restaurant.deleted_at  = null;
                        restaurant.distrito_id = model.DistritoId;
                        context.restaurante.Add(restaurant);

                        context.SaveChanges();

                        categoryrestaurant.restaurante_id = restaurant.id;
                        categoryrestaurant.categoria_id   = model.CategoriaId;
                        context.SaveChanges();

                        context.restaurante_categoria.Add(categoryrestaurant);
                    }

                    restaurant.nombre      = model.Nombre;
                    restaurant.descripcion = model.Descripcion;
                    restaurant.latitud     = model.Latitud;
                    restaurant.longitud    = model.Longitud;
                    restaurant.created_by  = Session.GetUsuarioId();
                    restaurant.updated_by  = Session.GetUsuarioId();
                    restaurant.created_at  = DateTime.Now;
                    restaurant.updated_at  = DateTime.Now;
                    restaurant.deleted_at  = null;
                    restaurant.distrito_id = model.DistritoId;
                    context.SaveChanges();

                    categoryrestaurant.restaurante_id = restaurant.id;
                    categoryrestaurant.categoria_id   = model.CategoriaId;
                    context.SaveChanges();

                    PostMessage(MessageType.Success, "Se registró el restaurante correctamente.");
                    transaction.Complete();

                    return(RedirectToAction("ListRestaurant"));
                }
            }
            catch (Exception ex)
            {
                InvalidarContext();
                PostMessage(MessageType.Error, "Ha ocurrido un error, por favor intentelo más tarde");
                model.CargarDatos(CargarDatosContext(), model.RestaurantId);
                TryUpdateModel(model);
                return(View(model));
            }
        }