Пример #1
0
        public ActionResult <ReceitaViewModel> Put(int id, [FromBody] ReceitaViewModel receitaPayload)
        {
            var receita = _context.Receitas.Where(r => r.Id == id).FirstOrDefault();

            if (receita == null)
            {
                return(NotFound());
            }

            if (!receita.Ingredientes.Equals(receitaPayload.Ingredients)
                // || !receita.Preparacao.Equals(receitaPayload.Preparation) // TODO culpa do frontend
                || !receita.UrlDaImagem.Equals(receitaPayload.ImageUrl))
            {
                throw new Exception("Só podem ser modificados o titulo e a descrição");
            }

            receita.Titulo    = receitaPayload.Title;
            receita.Descricao = receitaPayload.Description;

            _context.Receitas.Update(receita);
            _context.SaveChanges();

            var updatedViewModel = new ReceitaViewModel()
            {
                Id          = receita.Id,
                Title       = receita.Titulo,
                Description = receita.Descricao,
                Ingredients = receita.Ingredientes,
                Preparation = receita.Preparacao,
                ImageUrl    = receita.UrlDaImagem
            };

            return(Ok(updatedViewModel));
        }
Пример #2
0
        public ActionResult <ReceitaViewModel> Insert([FromBody] ReceitaViewModel receitaPayload)
        {
            var receita = new Receita(receitaPayload.Title, receitaPayload.Description, receitaPayload.Ingredients, receitaPayload.Preparation, receitaPayload.ImageUrl);

            _context.Receitas.Add(receita);
            _context.SaveChanges();
            var newViewModel = new ReceitaViewModel(receita.Id, receita.Title, receita.Description, receita.Ingredients, receita.Preparation, receita.ImageUrl);

            return(Ok(newViewModel));
        }
Пример #3
0
        public ActionResult <ReceitaViewModel> Post([FromBody] ReceitaViewModel receitaPayload)
        {
            var receita = new Receita(receitaPayload.Id, receitaPayload.Title, receitaPayload.Description, receitaPayload.Ingredients, receitaPayload.Preparation, receitaPayload.ImageUrl);

            _context.Receitas.Add(receita);
            _context.SaveChanges();

            var newViewModel = new ReceitaViewModel()
            {
                Id          = receita.Id,
                Title       = receita.Titulo,
                Description = receita.Descricao,
                Ingredients = receita.Ingredientes,
                Preparation = receita.Preparacao,
                ImageUrl    = receita.UrlDaImagem
            };

            return(Ok(newViewModel));
        }
Пример #4
0
        public ActionResult <ReceitaViewModel> Update(int id, [FromBody] ReceitaViewModel receitaViewModel)
        {
            var receitaBanco = _context.Receitas
                               .Where(receita => receita.Id == id)
                               .FirstOrDefault();

            if (receitaBanco == null)
            {
                return(null);
            }

            receitaBanco.Update(receitaViewModel.Title, receitaViewModel.Description);

            _context.Receitas.Update(receitaBanco);
            _context.SaveChanges();

            var newViewModel = new ReceitaViewModel(receitaBanco.Id, receitaBanco.Title, receitaBanco.Description, receitaBanco.Ingredients, receitaBanco.Preparation, receitaBanco.ImageUrl);

            return(newViewModel);
        }
Пример #5
0
        public ActionResult <ReceitaViewModel> Update(int id, [FromBody] ReceitaViewModel viewModel)
        {
            var receita = _context.Receitas.Where(item => item.Id == id)
                          .FirstOrDefault <Receita>();

            if (receita != null)
            {
                receita.Title       = viewModel.Title;
                receita.Description = viewModel.Description;
                _context.SaveChanges();
            }

            return(Ok(viewModel));

            //projeto de teste

            //cenario 1= update com sucesso dentro das regras

            //cenario 2= update com falha
        }