/// <summary> /// Az aktuális felhasználóhoz tartozó étterem adatainak szerkesztése. /// </summary> /// <param name="editRestaurant">Az étterem módosítandó adatai.</param> /// <returns>Az étterem módosított részletes adatai.</returns> public async Task <RestaurantDetailsDto> EditMyRestaurant(EditRestaurantDto editRestaurant) { string userId = httpContext.GetCurrentUserId(); int ownerRestaurantId = await userRepository.GetMyRestaurantId(userId); return(await restaurantRepository.EditRestaurant(ownerRestaurantId, editRestaurant)); }
public async Task EditMyRestaurantDetails_WhereUserIsGuest() { //Arrange var editRestaurant = new EditRestaurantDto { Name = "Teszt Étterem", ShortDescription = "Az étterem ismertetője.", DetailedDescription = "Az étterem leírása.", Address = new CreateOrEditAddressDto { ZipCode = 1018, City = "Budapest", Street = "Kossuth utca 11", PhoneNumber = "06-30-192-1234" } }; var accessToken = await authServer.GetAccessToken("*****@*****.**", "Test.54321"); //Vendég felhasználó var client = webApiServer.CreateClient(); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); //Act var editRestaurnatResponse = await client.PutAsJsonAsync("/api/restaurant/myrestaurant", editRestaurant); //Assert Assert.Equal(HttpStatusCode.Forbidden, editRestaurnatResponse.StatusCode); }
public ActionResult <Restaurant> Put(int id, [FromBody] EditRestaurantDto dto) { Request.Headers.TryGetValue("User-Id", out var userId); var restaurant = _context.Restaurants .Include(x => x.Location) .SingleOrDefault(x => x.Id == id); if (restaurant == null) { return(NotFound()); } if (restaurant.ManagerId != Guid.Parse(userId)) { return(Forbid()); } restaurant.Name = dto.Name; restaurant.Email = dto.Email; restaurant.Phone = dto.Phone; restaurant.Location.Latitude = dto.Location.Lat; restaurant.Location.Longitude = dto.Location.Lng; _context.SaveChanges(); return(restaurant); }
public ActionResult Edit([FromRoute] int id, [FromBody] EditRestaurantDto dto) { // atrybut [ApiControler] ogarnia sprawę //if (!ModelState.IsValid) //{ // return BadRequest(ModelState); //} _restaurantService.Edit(id, dto); return(NoContent()); }
public async Task EditMyRestaurantDetails_WhereUserIsRestaurantOwner() { //Arrange int restaurantId = 1; var editRestaurant = new EditRestaurantDto { Name = "Teszt Étterem", ShortDescription = "Az étterem ismertetője.", DetailedDescription = "Az étterem leírása.", Address = new CreateOrEditAddressDto { ZipCode = 1018, City = "Budapest", Street = "Kossuth utca 11", PhoneNumber = "06-30-192-1234" } }; var accessToken = await authServer.GetAccessToken("*****@*****.**", "Test.54321"); //Az 1-es azonosítójú étterem tulajdonosa var client = webApiServer.CreateClient(); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); //Act var editRestaurnatResponse = await client.PutAsJsonAsync("/api/restaurant/myrestaurant", editRestaurant); var editedRestaurant = await editRestaurnatResponse.Content.ReadFromJsonAsync <RestaurantDetailsDto>(); var savedRestaurant = await client.GetAsync("/api/restaurant/" + restaurantId).Result.Content.ReadFromJsonAsync <RestaurantDetailsDto>(); //Assert Assert.Equal(HttpStatusCode.OK, editRestaurnatResponse.StatusCode); Assert.Equal(restaurantId, editedRestaurant.Id); Assert.Equal(editRestaurant.Name, editedRestaurant.Name); Assert.Equal(editRestaurant.ShortDescription, editedRestaurant.ShortDescription); Assert.Equal(editRestaurant.DetailedDescription, editedRestaurant.DetailedDescription); Assert.Equal(editRestaurant.Address.ZipCode, editedRestaurant.RestaurantAddress.ZipCode); Assert.Equal(editRestaurant.Address.City, editedRestaurant.RestaurantAddress.City); Assert.Equal(editRestaurant.Address.Street, editedRestaurant.RestaurantAddress.Street); Assert.Equal(editRestaurant.Address.PhoneNumber, editedRestaurant.RestaurantAddress.PhoneNumber); Assert.Equal(restaurantId, savedRestaurant.Id); Assert.Equal(editRestaurant.Name, savedRestaurant.Name); Assert.Equal(editRestaurant.ShortDescription, savedRestaurant.ShortDescription); Assert.Equal(editRestaurant.DetailedDescription, savedRestaurant.DetailedDescription); Assert.Equal(editRestaurant.Address.ZipCode, savedRestaurant.RestaurantAddress.ZipCode); Assert.Equal(editRestaurant.Address.City, savedRestaurant.RestaurantAddress.City); Assert.Equal(editRestaurant.Address.Street, savedRestaurant.RestaurantAddress.Street); Assert.Equal(editRestaurant.Address.PhoneNumber, savedRestaurant.RestaurantAddress.PhoneNumber); }
public async Task EditRestaurant_WhichExists() { //Arrange const int editRestaurantId = 1; var editRestaurant = new EditRestaurantDto { Name = "Teszt Étterem", ShortDescription = "Az étterem ismertetõje.", DetailedDescription = "Az étterem leírása.", Address = new CreateOrEditAddressDto { ZipCode = 1018, City = "Budapest", Street = "Kossuth utca 11", PhoneNumber = "06301921234" } }; using (var dbContext = CreateDbContext()) { var repository = helper.CreateRestaurantRepository(dbContext); //Act var editedRestaurant = await repository.EditRestaurant(editRestaurantId, editRestaurant); //Assert Assert.Equal(editRestaurant.Name, editedRestaurant.Name); Assert.Equal(editRestaurant.ShortDescription, editedRestaurant.ShortDescription); Assert.Equal(editRestaurant.DetailedDescription, editedRestaurant.DetailedDescription); Assert.Equal(editRestaurant.Address.ZipCode, editedRestaurant.RestaurantAddress.ZipCode); Assert.Equal(editRestaurant.Address.City, editedRestaurant.RestaurantAddress.City); Assert.Equal(editRestaurant.Address.Street, editedRestaurant.RestaurantAddress.Street); Assert.Equal(editRestaurant.Address.PhoneNumber, editedRestaurant.RestaurantAddress.PhoneNumber); } using (var dbContext = CreateDbContext()) { var savedRestaurant = await dbContext.Restaurants.SingleOrDefaultAsync(r => r.Id == editRestaurantId); Assert.Equal(editRestaurant.Name, savedRestaurant.Name); Assert.Equal(editRestaurant.ShortDescription, savedRestaurant.ShortDescription); Assert.Equal(editRestaurant.DetailedDescription, savedRestaurant.DetailedDescription); Assert.Equal(editRestaurant.Address.ZipCode, savedRestaurant.Address.ZipCode); Assert.Equal(editRestaurant.Address.City, savedRestaurant.Address.City); Assert.Equal(editRestaurant.Address.Street, savedRestaurant.Address.Street); Assert.Equal(editRestaurant.Address.PhoneNumber, savedRestaurant.Address.PhoneNumber); } }
/// <summary> /// A megadott azonosítójú étterem adatainak módosítása. /// Ha a megadott azonosítóval étterem nem található, akkor kivételt dobunk. /// </summary> /// <param name="restaurantId">Az étterem azonosítója.</param> /// <param name="editRestaurant">Az étterem módosítandó adatai.</param> /// <returns>Az étterem részletes adatai.</returns> public async Task <RestaurantDetailsDto> EditRestaurant(int restaurantId, EditRestaurantDto editRestaurant) { var dbRestaurant = (await dbContext.Restaurants .SingleOrDefaultAsync(r => r.Id == restaurantId)) .CheckIfRestaurantNull(); dbRestaurant.Name = editRestaurant.Name; dbRestaurant.ShortDescription = editRestaurant.ShortDescription; dbRestaurant.DetailedDescription = editRestaurant.DetailedDescription; dbRestaurant.Address.ZipCode = editRestaurant.Address.ZipCode; dbRestaurant.Address.City = editRestaurant.Address.City; dbRestaurant.Address.Street = editRestaurant.Address.Street; dbRestaurant.Address.PhoneNumber = editRestaurant.Address.PhoneNumber; await dbContext.SaveChangesAsync(); return(await dbContext.Entry(dbRestaurant).ToRestaurantDetailsDto()); }
public ActionResult <Restaurant> Post([FromBody] EditRestaurantDto dto) { Request.Headers.TryGetValue("User-Id", out var userId); var restaurant = new Restaurant { Name = dto.Name, Email = dto.Email, Phone = dto.Phone, Location = new Location { Latitude = dto.Location.Lat, Longitude = dto.Location.Lng }, ManagerId = Guid.Parse(userId) }; _context.Restaurants.Add(restaurant); _context.SaveChanges(); return(Get(restaurant.Id)); }
public async Task <IActionResult> OnGet(Guid?restaurantId) { Cuisines = _htmlHelper.GetEnumSelectList <CuisineType>(); RestaurantDto = new EditRestaurantDto(); if (restaurantId.HasValue && restaurantId.Value != Guid.Empty) { var fetchedRestaurant = await _restaurantRepository.GetByIdAsync(id : restaurantId.Value); if (RestaurantDto == null) { return(RedirectToPage("./NotFound")); } RestaurantDto.Id = fetchedRestaurant.Id; RestaurantDto.Name = fetchedRestaurant.Name; RestaurantDto.Location = fetchedRestaurant.Location; RestaurantDto.CuisineType = fetchedRestaurant.CuisineType; } return(Page()); }
public void Edit(int id, EditRestaurantDto dto) { var restaurant = _dbContext.Restaurants .FirstOrDefault(r => r.Id == id); if (restaurant is null) { throw new NotFoundException("Restaurant not found"); } var authorizationResult = _authorizationService.AuthorizeAsync(_userContextService.User, restaurant, new ResourceOperationRequirement(ResourceOperation.Update)).Result; if (!authorizationResult.Succeeded) { throw new ForbidException("Authorization Fault"); } restaurant.Name = dto.Name; restaurant.HasDelivery = dto.HasDelivery; restaurant.Description = dto.Description; //_dbContext.Restaurants.Add(restaurant); _dbContext.SaveChanges(); }
public async Task <ActionResult <RestaurantDetailsDto> > EditMyRestaurant([FromBody] EditRestaurantDto editRestaurant) { return(await restaurantManager.EditMyRestaurant(editRestaurant)); }