// GET: Receita/Edit/5
        public async Task <IActionResult> Editar(long id)
        {
            var receita = await _receitaService.ObterReceitaPorId(id);

            var receitaVM = new NovoReceitaViewModel()
            {
                IdReceita     = receita.IdReceita,
                TituloReceita = receita.TituloReceita,
                Rendimento    = receita.Rendimento,
                TempoPreparo  = receita.TempoPreparo,
                Preparo       = receita.Preparo,
                Ingredientes  = receita.Ingredientes
            };

            var ingredientesTexto = "";

            foreach (var item in receita.Ingredientes)
            {
                var txt = item.NomeIngrediente + "," + item.Quantidade;
                if (ingredientesTexto.Length > 0)
                {
                    txt = "|" + txt;
                }

                ingredientesTexto = ingredientesTexto + txt;
            }

            receitaVM.IngredientesTexto = ingredientesTexto;


            return(View(receitaVM));
        }
        public async Task <IActionResult> Novo(NovoReceitaViewModel receita)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(receita));
                }
                if (receita != null)
                {
                    string[] data;
                    var      ingredientes = new List <IngredienteViewModel>();
                    if (receita.IngredientesTexto != null && receita.IngredientesTexto.Contains("|"))
                    {
                        data = receita.IngredientesTexto.Split("|");
                        foreach (var opcao in data)
                        {
                            var item = opcao.Split(",");
                            ingredientes.Add(new IngredienteViewModel()
                            {
                                NomeIngrediente = item[0], Quantidade = item[1]
                            });
                        }
                    }


                    //var receitaViewModel = new ReceitaViewModel();

                    //receitaViewModel.TituloReceita = collection["TituloReceita"];
                    //receitaViewModel.Rendimento = Convert.ToInt32(collection["Rendimento"]);
                    //receitaViewModel.TempoPreparo = Convert.ToInt32(collection["TempoPreparo"]);

                    var receitaVM = new ReceitaViewModel()
                    {
                        TituloReceita = receita.TituloReceita,
                        Rendimento    = receita.Rendimento,
                        TempoPreparo  = receita.TempoPreparo,
                        //Preparos = new PreparoViewModel() { Instrucoes = receita.Preparo}
                        Preparo = receita.Preparo
                    };

                    receitaVM.Ingredientes = ingredientes;
                    var retorno = _receitaService.AdicionarReceita(receitaVM);
                    //return Json(new { Resultado = retorno.Id });
                }

                return(RedirectToAction("Index", "Home"));
            }
            catch (Exception ex)
            {
                return(View());
            }
        }
        public async Task <IActionResult> Editar(long id, NovoReceitaViewModel receita)
        {
            try
            {
                // TODO: Add update logic hereif (collection != null)
                if (receita != null && id == receita.IdReceita)
                {
                    //var receitaViewModel = new ReceitaViewModel();

                    //receitaViewModel.IdReceita = Convert.ToInt32(collection["IdReceita"]);
                    //receitaViewModel.TituloReceita = collection["TituloReceita"];
                    //receitaViewModel.Rendimento = Convert.ToInt32(collection["Rendimento"]);
                    //receitaViewModel.TempoPreparo = Convert.ToInt32(collection["TempoPreparo"]);

                    var data         = receita.IngredientesTexto.Split("|");
                    var ingredientes = new List <IngredienteViewModel>();

                    foreach (var opcao in data)
                    {
                        var item = opcao.Split(",");
                        ingredientes.Add(new IngredienteViewModel()
                        {
                            NomeIngrediente = item[0], Quantidade = item[1]
                        });
                    }

                    var receitaVM = new ReceitaViewModel()
                    {
                        IdReceita     = receita.IdReceita,
                        TituloReceita = receita.TituloReceita,
                        Rendimento    = receita.Rendimento,
                        TempoPreparo  = receita.TempoPreparo,
                        Preparo       = receita.Preparo
                    };
                    receitaVM.Ingredientes = ingredientes;
                    var idReceita = _receitaService.AlterarReceita(receitaVM);
                }

                return(RedirectToAction("Index", "Home"));
            }
            catch
            {
                return(View());
            }
        }