예제 #1
0
        public ReadPizzaDTO CreatePizza(CreatePizzaDTO dto)
        {
            // crear pizza
            var pizza = new Pizza();

            pizza.Id               = Guid.NewGuid();
            pizza.Name             = dto.Name;
            pizza.PizzaIngredients = new List <PizzaIngredient>();
            pizza.Comments         = new List <Comment>();
            // add pizza ingredients
            foreach (var ingredientId in dto.Ingredients)
            {
                var ingredient = _context.Ingredient.Find(ingredientId);
                // createPizzaIngredient
                var pizzaIngredient = new PizzaIngredient();
                pizzaIngredient.Pizza        = pizza;
                pizzaIngredient.Ingredient   = ingredient;
                pizzaIngredient.PizzaId      = pizza.Id;
                pizzaIngredient.IngredientId = ingredient.Id;
                //
                pizza.PizzaIngredients.Add(pizzaIngredient);
            }
            // var pizza = _cretePizza(dto);
            // _addPizzaIngredients(pizza, dto.Ingredients)
            _context.Pizza.Add(pizza);
            _context.SaveChanges();
            _context.Dispose();
            return(_createReadPizzaDTO(pizza));
        }
예제 #2
0
 public ReadPizzaDTO CreatePizza(CreatePizzaDTO dto)
 {
     // crear una pizza con una list de ingredientes vacia
     // buscar cada ingrediente por su id
     // con cada Ingredient crear un PizzaIngredient que tenga la pizza
     // y el ingrediente y a pizza.pizzaIngredients se lo anadimos
 }
예제 #3
0
        public async Task <ActionResult> Create([FromBody] CreatePizzaDTO pizzaDto)
        {
            var command = _mapper.Map <CreatePizzaCommand>(pizzaDto);

            var result = await _mediator.Send(command);

            return(CreatedAtAction(nameof(Get), new { result.Id }, result));
        }
예제 #4
0
        public PizzaDetailDTO Create(CreatePizzaDTO dto)
        {
            var pizza = _pizzaMapper.ToPizza(dto);

            _pizzaIngredientsService.AddIngredients(pizza, dto.Ingredients);
            _context.Pizza.Add(pizza);
            _context.SaveChanges();
            return(_pizzaMapper.ToPizzaDetail(pizza));
        }
        public IActionResult Post([FromBody] CreatePizzaDTO createPizzaDTO)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var pizzaDetail = _pizzaService.Create(createPizzaDTO);

            return(StatusCode(201, pizzaDetail));
        }
 public Pizza ToPizza(CreatePizzaDTO dto)
 {
     return(new Pizza
     {
         Id = Guid.NewGuid(),
         Name = dto.Name,
         PizzaIngredients = new List <PizzaIngredient>(),
         Comments = new List <Comment>()
                    //TODO: imagen
     });
 }
예제 #7
0
        public async Task <ActionResult> Create([FromBody] CreatePizzaDTO dto)
        {
            using var uow = _unitOfWorkFactory.Create();

            var result = await _pizzaService.CreatePizzaAsync(
                dto.Name,
                dto.Description,
                dto.UnitPrice,
                dto.IngredientIds);

            var resultDto = _mapper.Map <PizzaDTO>(result);

            uow.Commit();

            return(CreatedAtAction(nameof(Get), new { resultDto.Id }, resultDto));
        }