public int Create(CreateDishDto dto) { var dish = _mapper.Map <Dish>(dto); _dbContext.Dishes.Add(dish); _dbContext.SaveChanges(); return(dish.Id); }
public int Create(int restaurantId, CreateDishDto dto) { var restaurant = GetRestaurantById(restaurantId); var dishEntity = _mapper.Map <Dish>(dto); dishEntity.RestaurantId = restaurantId; _dbContext.Dishes.Add(dishEntity); _dbContext.SaveChanges(); return(dishEntity.Id); }
public string Create([FromBody] CreateDishDto dto) { if (ModelState.IsValid) { if (!_dishService.GetAll().Any(x => x.NameOfDish == dto.NameOfDish)) { int id = _dishService.Create(dto); return(JsonConvert.SerializeObject("Dish added successfully!")); } } return(JsonConvert.SerializeObject("Something went wrong!")); }
public async Task <ActionResult> AddDish(CreateDishDto request) { var response = await _menuService.Create(request); if (response.Succeeded == true) { // Uri uri = new Uri($"http://localhost:5000/api/menu/{response.Entities[]}"); return(Ok(response)); } else { return(BadRequest()); } }
public ActionResult <DishDto> CreateDish(CreateDishDto dishDto) { Dish dish = new(){ Name = dishDto.Name, Toppings = dishDto.Toppings, Price = dishDto.Price, CreatedDate = DateTimeOffset.UtcNow }; _context.Add(dish); _context.SaveChanges(); return(CreatedAtAction(nameof(GetDish), new { id = dish.Id }, dish.AsDto())); }
public async Task <IResponseDto> Create(CreateDishDto request) { IDictionary <Guid, IngredientOnStock> usedIngredients = new Dictionary <Guid, IngredientOnStock>(); bool isAvailable = true; var dishIngredientsEnumerator = request.DishIngredients.GetEnumerator(); while (dishIngredientsEnumerator.MoveNext() && isAvailable == true) { double quantity = dishIngredientsEnumerator.Current.Value; var usedIngredient = await _unityOfWork.IngredientsRepository.Get(dishIngredientsEnumerator.Current.Key); if (usedIngredient == null) { return(null); } usedIngredients.Add(usedIngredient.Id, usedIngredient); if (usedIngredient.Quantity < quantity) { isAvailable = false; } } dishIngredientsEnumerator.Dispose(); Dish createdDish = Dish.Create(request.Name, request.Price, isAvailable); var id = createdDish.Id; await _unityOfWork.DishesRepository.Add(createdDish); dishIngredientsEnumerator = request.DishIngredients.GetEnumerator(); while (dishIngredientsEnumerator.MoveNext()) { DishIngredient link = new DishIngredient() { Dish = createdDish, Ingredient = usedIngredients[dishIngredientsEnumerator.Current.Key], Quantity = dishIngredientsEnumerator.Current.Value }; await _unityOfWork.DishIngredientsRepository.Add(link); Console.WriteLine(link); } dishIngredientsEnumerator.Dispose(); await _unityOfWork.CommitAsync(); var dishDto = _mapper.Map <DishDto>(createdDish); return(SuccessResponseDto.Create(dishDto)); }
public int CreateDish(int restaurantId, CreateDishDto dto) { var restaurant = _context.Restaurants.FirstOrDefault(r => r.Id == restaurantId); if (restaurant is null) { throw new NotFoundException("Restaurant not found"); } var dishEntity = _mapper.Map <Dish>(dto); dishEntity.RestaurantId = restaurantId; _context.Dishes.Add(dishEntity); _context.SaveChanges(); return(dishEntity.Id); }
public int Create(int restaurantId, CreateDishDto dto) { var restaurant = GetRestaurantById(restaurantId); var authorizationResult = _authorizationService.AuthorizeAsync(_userContextService.User, restaurant, new ResourceOperationRequirement(ResourceOperation.Create)).Result; if (!authorizationResult.Succeeded) { throw new ForbidException(); } var dish = _mapper.Map <Dish>(dto); dish.RestaurantId = restaurantId; _dbContext.Dishes.Add(dish); _dbContext.SaveChanges(); return(dish.Id); }
public ActionResult Post([FromRoute] int restaurantId, [FromBody] CreateDishDto dto) { var newDishId = _dishService.Create(restaurantId, dto); return(Created($"api/restaurant/{restaurantId}/dish/{newDishId}", null)); }