public void AlterarProduto(Produto Produto)
 {
     produtoBm.Update(Produto);
 }
 public void DesativarProduto(Produto Produto)
 {
     Produto.Ativo = false;
     produtoBm.Update(Produto);
 }
 public bool VerificaExistenciaFormulaAssociada(Produto prod)
 {
     return formulaBm.VerificaFormulaAssociadaAoProduto(prod);
 }
 public void ReativarProduto(Produto Produto)
 {
     Produto.Ativo = true;
     produtoBm.Update(Produto);
 }
 public void InserirProduto(Produto Produto)
 {
     produtoBm.Insert(Produto);
 }
 private IList<Pedido> GetPedidosEmProducaoByProduto(Produto produto)
 {
     return pedidoProdutoBm.GetPedidoProdutoByProdutoAndStatusAtual(produto, StatusPedido.EmProducao).Select(x => x.Pedido).Distinct().ToList();
 }
        public JsonResult Criar(ProdutoModel pProdutoModel)
        {
            try
            {
                using (var cadProduto = new CadastroProduto())
                {
                    var prod = new Produto()
                    {
                        Ativo = true,
                        GTIN = pProdutoModel.GTIN,
                        Nome = pProdutoModel.Nome,
                        DiasPrazoValidade = pProdutoModel.DiasPrazoValidade,
                        ProporcaoTabelaNutricional = pProdutoModel.ProporcaoTabelaNutricional,
                        Categoria = cadProduto.GetCategoriaById(pProdutoModel.Categoria.IdCategoriaProduto),
                        PrecoVenda = pProdutoModel.PrecoVenda,
                        PrecoCusto = pProdutoModel.PrecoCusto
                    };

                    cadProduto.InserirProduto(prod);

                    return Json(
                                   new
                                   {
                                       TipoMensagem = TipoMensagemRetorno.Ok,
                                       Mensagem = "Produto Inserido com sucesso!",
                                       URLDestino = Url.Action("Criar"),
                                       IdProduto = prod.IdProduto
                                   }, "text/html", JsonRequestBehavior.AllowGet);

                }
            }
            catch (Exception ex)
            {
                return Json(
                           new
                           {
                               TipoMensagem = TipoMensagemRetorno.Erro,
                               Mensagem = ex.Message

                           }, "text/html", JsonRequestBehavior.AllowGet);
            }
        }