public ActionResult CadastrarProduto(ProdutoViewModelCadastro model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Produto p = new Produto();
                    p.Nome = model.Nome;
                    p.Preco = model.Preco;
                    p.Foto = Guid.NewGuid().ToString() + ".jpg";
                    p.DataCadastro = DateTime.Now;

                    ProdutoDal d = new ProdutoDal();

                    d.Insert(p);

                    model.Foto.SaveAs(HttpContext.Server.MapPath("/Images/") + p.Foto);
                    ViewBag.Mensagem = "Produto " + p.Nome + ", cadastrado com sucesso.";

                    ModelState.Clear();//Limpando os campos
                }
                catch (Exception ex)
                {
                    ViewBag.Mensagem = ex.Message;
                }
            }

            return View("Cadastro");
        }
 public void Delete(Produto p)
 {    //Não é necessario dar new pois o objeto é statico
     using (ISession s = HibernateUtil.GetSessionFactory().OpenSession())
     {
         ITransaction t = s.BeginTransaction();
         s.Delete(p);
         t.Commit();
     }
 }
        public JsonResult CadastrarProduto(CadastroViewModelProduto objeto)
        {
            try
            {
                Produto p = new Produto();
                p.Nome = objeto.Nome;
                p.Preco = objeto.Preco;
                p.Quantidade = objeto.Quantidade;
                p.DataCadastro = DateTime.Now;

                ProdutoDal d = new ProdutoDal();

                d.Insert(p);

                return Json("Produto " + p.Nome + ", cadastro com sucesso.");
            }
            catch (Exception ex)
            {
                return Json(ex.Message);
            }  
        }