Ejemplo n.º 1
0
        public IActionResult Cadastrar(Movimento m, int?drpProdutos, string drpTipoMovimento, int?drpEnderecoEstoque)
        {
            ViewBag.Produtos     = new SelectList(_produtoDAO.ListarProdutos(), "Id", "Nome");
            ViewBag.Categorias   = new SelectList(_categoriaDAO.ListarCategorias(), "Id", "Nome");
            ViewBag.Fornecedores = new SelectList(_fornecedorDAO.ListarFornecedores(), "Id", "Nome");
            //ViewBag.Estoque = new SelectList(_estoqueDAO.ListarEstoquePorProduto(), "Id", "Localizacao");

            if (ModelState.IsValid)
            {
                m.Produto       = _produtoDAO.BuscarProdutoPorId(drpProdutos);
                m.TipoMovimento = drpTipoMovimento;
                m.Categoria     = m.Produto.Categoria;
                m.Fornecedor    = m.Produto.Fornecedor;

                switch (drpTipoMovimento)
                {
                case "Entrada":
                    m.EnderecoEstoque = (_estoqueDAO.BuscarEstoquePorId(drpEnderecoEstoque)).Localizacao;
                    _movimentoDAO.LancarMovimento(m);
                    _estoqueDAO.AtualizarEnderecoEstoque(m);
                    break;

                case "Saida":
                    m.EnderecoEstoque = (_estoqueDAO.BuscarEstoquePorId(drpEnderecoEstoque)).Localizacao;
                    _movimentoDAO.LancarMovimento(m);
                    _estoqueDAO.AtualizarEnderecoEstoque(m);
                    break;

                case "Devolucao":
                    _devolucaoDAO.LancaDevolucao(m);
                    break;

                default:
                    break;
                }

                return(RedirectToAction("Index"));
            }
            return(View(m));
        }