none
problema ao cadastrar na classe controller RRS feed

  • Pergunta

  • Bom dia, estou fazendo um projeto. Fiz o controller e a tela de cadastro de produto. Só que na hora de inserir no banco pela view esta ocorrendo um problema de persistencia no repositoryBase.cs esse erro:

    [Exception: An exception occurred during configuration of persistence layer.]
       SistemaPizzaria.business.Implementation.RepositoryBase`1.Salvar(T entity) in C:\Users\SCAMTEC\Documents\POS\Projeto_Modulo1\SistemaPizzaria\SistemaPizzaria.business\Implementation\RepositoryBase.cs:80
       SistemaPizzaria.web.Controllers.ProdutoController.Cadastrar(String txtNome, String txtPreco, String txtEstoque, String txtTipo, String txtDescricao) in C:\Users\SCAMTEC\Documents\POS\Projeto_Modulo1\SistemaPizzaria\SistemaPizzaria.web\Controllers\ProdutoController.cs:76
       lambda_method(Closure , ControllerBase , Object[] ) +425
       System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +51
       System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +409

    a classe controller e o metodo de cadastrar esta abaixo:

     #region Cadastrar
            // Nomeia View Cdastrar 
            public ActionResult Cadastrar()
            {
                return View("Cadastrar");
            }

            // Método de Cadastro 
            [HttpPost]
            public ActionResult Cadastrar(string txtNome, string txtPreco, string txtEstoque, string txtTipo, string txtDescricao) 
                                          
            {
                Boolean cadastrado = false;
                if (txtNome == null || txtNome == "" )
                {
                    ModelState.AddModelError("Nome", "O nome do produto é obrigatório!");
                }
                else if (txtPreco == null || txtPreco == "" )
                {
                    ModelState.AddModelError("Preco", "O preco do produto é obrigatório ou preco invalido");
                }
                else if (txtEstoque == null)
                {
                    ModelState.AddModelError("Estoque", "O estoque do produto é obrigatório ou estoque invalido");
                }
                else if (txtTipo == null)
                {
                    ModelState.AddModelError("Tipo", "O tipo do produto é obrigatório ou tipo invalido");
                }
                else if (txtDescricao == null || txtDescricao == "" )
                {
                    ModelState.AddModelError("Descricao", "A descricao do produto é obrigatório ou descricao invalida");
                }
                else
                {
                    SistemaPizzaria.factory.Entity.Produto produto = new factory.Entity.Produto();

                    produto.Nome = txtNome;
                    produto.Preco = double.Parse(txtPreco);
                    produto.Estoque = int.Parse(txtEstoque);
                    produto.Tipo = int.Parse(txtTipo);
                    produto.Descricao = txtDescricao;

                    _produtoRepository.Salvar(produto);
                    cadastrado = true;
                }
                if (cadastrado)
                {
                    ModelState.Clear();
                    return View("Cadastrar");
                }
                else
                {
                    return View("Cadastrar");
                }

            }
            #endregion

    alguem poderia me ajudar? nao consigo avancar as etapas...
    desde ja agradeço!

    att
    Lucas

    • Tipo Alterado Lucas Amarante segunda-feira, 15 de julho de 2013 11:41
    quinta-feira, 11 de julho de 2013 12:08

Respostas

Todas as Respostas

  • Lucas, 

    Você está utilizando EntityFramework? 
    Poderia, por favor, verificar se há alguma InnerException na exceção principal e postá-la aqui?
    Você já verificou o Web.Config e a versão do Entity?


    Rafael Schettino

    quinta-feira, 11 de julho de 2013 12:19
  • Bom dia Rafael, estou usando nhibernate, não estou usando entityFramework...

    vou te enviar o print da tela quando ocorre o erro:

    obrigado. fica com Deus.

    Lucas

    sexta-feira, 12 de julho de 2013 12:39
  • Essa exceção provavelmente gerou uma exceção interna, chamada "InnerException".
    Coloque um ponto de debug na linha 80, na hora que ocorrer a exception, vai debugando o objeto e e procura pela InnerException.

    Posta ela aqui, por favor. Nessa InnerException é que deve estar o erro mais detalhado.


    Rafael Schettino, MCP
    O post te ajudou? Então marque como útil, por favor.

    sexta-feira, 12 de julho de 2013 12:47
  • Olá Rafael segue o print:

    obrigado. fica com Deus

    sexta-feira, 12 de julho de 2013 13:18
  • Lucas, como pode ver na InnerException, o sistema não está encontrando o arquivo de mapping do NHibernate.

    Verifique se o arquivo existe no diretório e, caso não exista, crie o arquivo.

    Caso não saiba como criar o arquivo, veja este post:
    http://gabrielrb.wordpress.com/2011/10/12/configurando-nhibernate-de-3-modos-diferentes/


    Rafael Schettino, MCP
    O post te ajudou? Então marque como útil, por favor.

    • Marcado como Resposta Lucas Amarante segunda-feira, 15 de julho de 2013 11:42
    sexta-feira, 12 de julho de 2013 13:20
  • Valeu Rafael.. muito obrigado.. Deus te abençoe!!

    valeu.. abraços

    sexta-feira, 12 de julho de 2013 13:30
  • Disponha.

    Marque como respondido, por favor.


    Rafael Schettino, MCP
    O post te ajudou? Então marque como útil, por favor.

    sexta-feira, 12 de julho de 2013 13:33
  • Blzz.. como faço para marcar respondido ? nao estou encontrando! 

    abracos

    fica com Deus.

    sexta-feira, 12 de julho de 2013 14:50