Ejemplo n.º 1
0
        public IActionResult DarEntrada(int id)
        {
            if (id <= 0)
            {
                ViewBag.Mensagem = "Id de produto inválido.";
                return(PartialView("_estoqueProds"));
            }
            resultado = new Facade().Consultar(new Estoque {
                ProdutoId = id
            });
            if (resultado.Msg != null)
            {
                ViewBag.Mensagem = resultado.Msg;
                return(PartialView("_estoqueProds"));
            }
            if (resultado.Entidades.Count == 0)
            {
                ViewBag.Mensagem = "Produto não econtrado.";
                return(PartialView("_estoqueProds", new List <Estoque>()));
            }
            List <Estoque> estoqueProds = new List <Estoque>();

            foreach (var item in resultado.Entidades)
            {
                estoqueProds.Add((Estoque)item);
            }
            //teste
            EntradaEstoque entradaEstoque = new EntradaEstoque
            {
                ProdutoId   = id,
                NomeProduto = estoqueProds.FirstOrDefault().NomeProduto
            };

            return(View("darEntrada", entradaEstoque));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            EntradaEstoque entradaEstoque = db.EntradaEstoque.Find(id);

            db.EntradaEstoque.Remove(entradaEstoque);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 3
0
 public IActionResult DarEntrada(EntradaEstoque entradaEstoque)
 {
     resultado = new Facade().Salvar(entradaEstoque);
     if (resultado.Msg != null)
     {
         ViewBag.Mensagem = resultado.Msg;
         return(View("darEntrada", entradaEstoque));
     }
     ViewBag.Mensagem = "Entrada de estoque registrada com sucesso.";
     return(View("darEntrada", entradaEstoque));
 }
 public ActionResult Edit([Bind(Include = "EntradaEstoqueId,LivroId,FornecedorId,Data,NotaFiscal,Quantidade,ValorUnitario")] EntradaEstoque entradaEstoque)
 {
     if (ModelState.IsValid)
     {
         db.Entry(entradaEstoque).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.FornecedorId = new SelectList(db.Fornecedor, "FornecedorId", "CNPJCPF", entradaEstoque.FornecedorId);
     ViewBag.LivroId      = new SelectList(db.Livro, "LivroId", "Nome", entradaEstoque.LivroId);
     return(View(entradaEstoque));
 }
        // GET: EntradaEstoque/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            EntradaEstoque entradaEstoque = db.EntradaEstoque.Find(id);

            if (entradaEstoque == null)
            {
                return(HttpNotFound());
            }
            return(View(entradaEstoque));
        }
        // GET: EntradaEstoque/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            EntradaEstoque entradaEstoque = db.EntradaEstoque.Find(id);

            if (entradaEstoque == null)
            {
                return(HttpNotFound());
            }
            ViewBag.FornecedorId = new SelectList(db.Fornecedor, "FornecedorId", "CNPJCPF", entradaEstoque.FornecedorId);
            ViewBag.LivroId      = new SelectList(db.Livro, "LivroId", "Nome", entradaEstoque.LivroId);
            return(View(entradaEstoque));
        }
Ejemplo n.º 7
0
        public string Processar(EntidadeDominio entidade)
        {
            if (entidade.GetType().Name.Equals("EntradaEstoque"))
            {
                EntradaEstoque entradaEstoque = (EntradaEstoque)entidade;

                if (entradaEstoque.DataCadastro > DateTime.Now)
                {
                    return("Datas futuras não são permitidas");
                }
            }
            else
            {
                return("Deve ser registrada uma entrada de estoque.");
            }
            return(null);
        }
Ejemplo n.º 8
0
        public override List <EntidadeDominio> Consultar(EntidadeDominio entidade)
        {
            EntradaEstoque        entradaEstoque  = (EntradaEstoque)entidade;
            List <EntradaEstoque> entradasEstoque = new List <EntradaEstoque>();
            string cmdTextoEntradaEstoque;

            try
            {
                Conectar();

                if (entradaEstoque.ProdutoId > 0)
                {
                    cmdTextoEntradaEstoque = "SELECT * FROM EntradaEstoque WHERE ProdutoId = @ProdutoId";
                }
                else
                {
                    cmdTextoEntradaEstoque = "SELECT * FROM EntradaEstoque";
                }

                SqlCommand comandoestoque = new SqlCommand(cmdTextoEntradaEstoque, conexao);

                if (entradaEstoque.ProdutoId > 0)
                {
                    comandoestoque.Parameters.AddWithValue("@ProdutoId", entradaEstoque.ProdutoId);
                }

                SqlDataReader drEntradaEstoque = comandoestoque.ExecuteReader();
                comandoestoque.Dispose();

                entradasEstoque = DataReaderEntradaEstoqueParaList(drEntradaEstoque);
            }
            catch (SqlException e)
            {
                throw e;
            }
            catch (InvalidOperationException e)
            {
                throw e;
            }
            finally
            {
                Desconectar();
            }
            return(entradasEstoque.ToList <EntidadeDominio>());
        }
Ejemplo n.º 9
0
        public string Processar(EntidadeDominio entidade)
        {
            if (entidade.GetType().Name.Equals("EntradaEstoque"))
            {
                EntradaEstoque entradaEstoque = (EntradaEstoque)entidade;

                if (entradaEstoque.FornecedorId <= 0 || entradaEstoque.Qtde <= 0 || entradaEstoque.ValorCusto <= 0 ||
                    entradaEstoque.DataCadastro == DateTime.MinValue)
                {
                    return("Os campos com * são de preenchimento obrigatório.");
                }
            }
            else
            {
                return("Deve ser registrada uma entrada de estoque.");
            }
            return(null);
        }
Ejemplo n.º 10
0
        private void BtnSalvar_Click(object sender, EventArgs e)
        {
            entradaEstoque = new EntradaEstoque
            {
                IdEntradaEstoque = Convert.ToInt32(mk_id.Text),
                ValorTotal       = Convert.ToDecimal(mk_total.Text),
            };

            daoEntrada.InserirDbProvider(provider, strConnection, entradaEstoque);

            foreach (ItensEntrada item in listBoxParaCadastrar.Items)
            {
                item.EntradasEstoqueId = Convert.ToInt32(mk_id.Text);
                daoItens.InserirDbProvider(provider, strConnection, item);
            }


            ClassFuncoes.FecharTela(this);
        }
Ejemplo n.º 11
0
        private void InserirDbProvider()
        {
            entradaEstoque = new EntradaEstoque();

            entradaEstoque.IdEntradaEstoque = Convert.ToInt32(mk_id.Text);
            entradaEstoque.ChaveNf          = mk_Chave.Text;
            entradaEstoque.ValorTotal       = Convert.ToDecimal(mk_total.Text);
            entradaEstoque.NumeroNf         = mk_notaFiscal.Text;
            entradaEstoque.DataEntrada      = Convert.ToDateTime(mk_dataEntrada.Text);
            entradaEstoque.Observacao       = mk_observacao.Text;
            entradaEstoque.SerieNf          = mk_serie.Text;
            entradaEstoque.DataNf           = Convert.ToDateTime(mk_dataNf.Text);
            entradaEstoque.FornecedorId     = ((Fornecedor)comboBoxFornecedor.SelectedItem).IdFornecedor;
            entradaEstoque.LojaId           = ((Loja)comboBoxLoja.SelectedItem).IdLoja;

            int idEntrada = daoEntrada.InserirDbProvider(provider, strConnection, entradaEstoque);

            foreach (ItensEntrada item in listBoxParaCadastrar.Items)
            {
                item.EntradasEstoqueId = idEntrada;
                daoItens.InserirDbProvider(provider, strConnection, item);
            }
        }
Ejemplo n.º 12
0
        public List <EntradaEstoque> DataReaderEntradaEstoqueParaList(SqlDataReader dataReader)
        {
            if (!dataReader.HasRows)
            {
                throw new Exception("Sem Registros");
            }

            List <EntradaEstoque> estoqueProds = new List <EntradaEstoque>();

            while (dataReader.Read())
            {
                try
                {
                    EntradaEstoque entradaEstoque = new EntradaEstoque
                    {
                        Id           = Convert.ToInt32(dataReader["EntradaEstoqueId"]),
                        ProdutoId    = Convert.ToInt32(dataReader["ProdutoId"]),
                        Qtde         = Convert.ToInt32(dataReader["Qtde"]),
                        ValorCusto   = Convert.ToDouble(dataReader["ValorCusto"]),
                        FornecedorId = Convert.ToInt32(dataReader["FornecedorId"]),
                        DataCadastro = Convert.ToDateTime(dataReader["DataEntrada"]),
                    };
                    if (!Convert.IsDBNull(dataReader["Observacao"]))
                    {
                        entradaEstoque.Observacao = dataReader["Observacao"].ToString();
                    }
                    estoqueProds.Add(entradaEstoque);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
            dataReader.Close();

            return(estoqueProds.ToList());
        }
Ejemplo n.º 13
0
        public static void PdfEntradas(string pathArquivo, int id) // se passar id 0 pega tudo, id definido gera pdf excluisivo
        {
            try
            {
                #region ESTRUTURA DO ITEXT 7
                // pathArquivo() é o método criado para pegar o local onde o pdf será salvo
                using (PdfWriter pdfWriter = new PdfWriter(pathArquivo))
                    using (PdfDocument pdfDocument = new PdfDocument(pdfWriter))
                        using (Document document = new Document(pdfDocument, PageSize.A4.Rotate()))
                        { //PageSize.A4 - vertical ou PageSize.A4.Rotate() - horizontal
                            document.Add(new Paragraph("Controle de Estoque do Zé").SetTextAlignment(TextAlignment.CENTER).SetFontSize(25));
                            document.Add(new LineSeparator(new SolidLine()));
                            #endregion

                            #region BUSCANDO TODAS AS ENTRADAS DE ESTOQUE PARA PERCORRER
                            // realiza a busca no Banco de Dados
                            EntradaEstoqueDAO daoEntrada     = new EntradaEstoqueDAO();
                            EntradaEstoque    entradaEstoque = new EntradaEstoque
                            {
                                IdEntradaEstoque = id,
                                NumeroNf         = "",
                            };
                            DataTable linhasEntrada = daoEntrada.SelectDbProvider(provider, strConnection, entradaEstoque);
                            #endregion

                            //PERCORRENDO AS ENTRADAS
                            foreach (DataRow row in linhasEntrada.Rows)
                            {
                                #region BUSCANDO DADOS GERAIS DA ENTRADA PARA TABELA LINHAUM E LINHADOIS
                                //CRIANDO TABELA UM E TABELA DOIS
                                Table tableLinhaDois;
                                Table tableLinhaUm;
                                tableLinhaUm = new Table(4, false);
                                tableLinhaUm.SetWidth(UnitValue.CreatePercentValue(100));
                                tableLinhaUm.SetTextAlignment(TextAlignment.LEFT);
                                tableLinhaDois = new Table(1, false);
                                tableLinhaDois.SetWidth(UnitValue.CreatePercentValue(100));
                                tableLinhaDois.SetTextAlignment(TextAlignment.LEFT);

                                PreenchendoTabelaUM(tableLinhaUm, row);
                                PreenchendoTabelaDois(tableLinhaDois, row);
                                #endregion

                                #region FORNECEDOR PARA ADICIONAR NA TABELA FORNECEDOR
                                //CRIANDO TABELA FORNECEDOR
                                Table tableLinhaFornecedor;
                                Table tableLinhaFornecedorDois;
                                tableLinhaFornecedor = new Table(4, false);
                                tableLinhaFornecedor.SetWidth(UnitValue.CreatePercentValue(100));
                                tableLinhaFornecedor.SetTextAlignment(TextAlignment.LEFT);
                                tableLinhaFornecedorDois = new Table(1, false);
                                tableLinhaFornecedorDois.SetWidth(UnitValue.CreatePercentValue(100));
                                tableLinhaFornecedorDois.SetTextAlignment(TextAlignment.LEFT);
                                PreenchendoTabelaParaFornecedor(row, tableLinhaFornecedor, tableLinhaFornecedorDois);
                                #endregion

                                #region LOJA PARA ADICIONAR NA TABELA LOJA
                                //CRIANDO TABELA LOJA
                                Table tableLinhaLoja;
                                Table tableLinhaLojaDois;
                                tableLinhaLoja = new Table(3, false);
                                tableLinhaLoja.SetWidth(UnitValue.CreatePercentValue(100));
                                tableLinhaLoja.SetTextAlignment(TextAlignment.LEFT);
                                tableLinhaLojaDois = new Table(1, false);
                                tableLinhaLojaDois.SetWidth(UnitValue.CreatePercentValue(100));
                                tableLinhaLojaDois.SetTextAlignment(TextAlignment.LEFT);
                                PreenchendoTabelaLoja(row, tableLinhaLoja, tableLinhaLojaDois);
                                #endregion

                                #region PRODUTOS PARA TABELA PRODUTO
                                Table tableLineItensEntrada = new Table(8, false);
                                tableLineItensEntrada.SetWidth(UnitValue.CreatePercentValue(100));
                                tableLineItensEntrada.SetTextAlignment(TextAlignment.LEFT);

                                PreencheATabelaProdutos(row, tableLineItensEntrada);
                                #endregion

                                #region ADICIONANDO OS COMPONENTES NO PDF
                                //ADICIONANDO COMPONENTES NO PDF
                                document.Add(new Paragraph("Entrada").SetTextAlignment(TextAlignment.CENTER).SetFontSize(15).SetBold());
                                document.Add(new LineSeparator(new DashedLine()));
                                document.Add(tableLinhaUm);
                                document.Add(tableLinhaDois);

                                document.Add(new Paragraph("Fornecedor da Entrada").SetTextAlignment(TextAlignment.CENTER).SetFontSize(15).SetBold());
                                document.Add(new LineSeparator(new DashedLine()));
                                document.Add(tableLinhaFornecedor);
                                document.Add(tableLinhaFornecedorDois);

                                document.Add(new Paragraph("Loja Da Entrada").SetTextAlignment(TextAlignment.CENTER).SetFontSize(15).SetBold());
                                document.Add(new LineSeparator(new DashedLine()));
                                document.Add(tableLinhaLoja);
                                document.Add(tableLinhaLojaDois);

                                //arrumar o Id Para ver se tem mais de um produto ou n
                                document.Add(new Paragraph("Produtos da Entrada").SetTextAlignment(TextAlignment.CENTER).SetFontSize(15).SetBold());
                                document.Add(new LineSeparator(new DashedLine()));
                                document.Add(tableLineItensEntrada);

                                document.Add(new AreaBreak());
                                #endregion
                            }
                        }
            }
            catch (Exception ex) { MessageBox.Show(ex.Message); }
        }
Ejemplo n.º 14
0
 public async Task <EntradaEstoque> Update(EntradaEstoque obj)
 {
     return(await _repository.Update(obj));
 }
Ejemplo n.º 15
0
        public override void Salvar(EntidadeDominio entidade)
        {
            EntradaEstoque entradaEstoque = (EntradaEstoque)entidade;
            string         cmdTextoEntradaEstoque;
            string         cmdTextoEstoque;

            try
            {
                Conectar();
                BeginTransaction();

                cmdTextoEntradaEstoque = "INSERT INTO EntradaEstoque(" +
                                         "ProdutoId, " +
                                         "Qtde, " +
                                         "ValorCusto, " +
                                         "FornecedorId, " +
                                         "DataEntrada, " +
                                         "Observacao" +
                                         ") " +
                                         "VALUES(" +
                                         "@ProdutoId," +
                                         "@Qtde, " +
                                         "@ValorCusto, " +
                                         "@FornecedorId, " +
                                         "@DataEntrada, " +
                                         "@Observacao" +
                                         ") SELECT CAST(scope_identity() AS int)";

                SqlCommand comandoEntradaEstoque = new SqlCommand(cmdTextoEntradaEstoque, conexao, transacao);

                comandoEntradaEstoque.Parameters.AddWithValue("@ProdutoId", entradaEstoque.ProdutoId);
                comandoEntradaEstoque.Parameters.AddWithValue("@Qtde", entradaEstoque.Qtde);
                comandoEntradaEstoque.Parameters.AddWithValue("@ValorCusto", entradaEstoque.ValorCusto);
                comandoEntradaEstoque.Parameters.AddWithValue("@FornecedorId", entradaEstoque.FornecedorId);
                comandoEntradaEstoque.Parameters.AddWithValue("@DataEntrada", entradaEstoque.DataCadastro);
                if (entradaEstoque.Observacao != null)
                {
                    comandoEntradaEstoque.Parameters.AddWithValue("@Observacao", entradaEstoque.DataCadastro);
                }
                else
                {
                    comandoEntradaEstoque.Parameters.AddWithValue("@Observacao", DBNull.Value);
                }
                entradaEstoque.Id = Convert.ToInt32(comandoEntradaEstoque.ExecuteScalar());
                comandoEntradaEstoque.Dispose();

                cmdTextoEstoque = "UPDATE Estoque " +
                                  "SET Qtde = Qtde + @Qtde, " +
                                  "ValorCusto = ROUND((SELECT SUM(ValorCusto) FROM EntradaEstoque WHERE ProdutoId = @ProdutoId) / " +
                                  "(SELECT Count(ProdutoId) FROM EntradaEstoque WHERE ProdutoId = @ProdutoId), 2) " +
                                  "WHERE ProdutoId = @ProdutoId";
                SqlCommand comandoEstoque = new SqlCommand(cmdTextoEstoque, conexao, transacao);
                comandoEstoque.Parameters.AddWithValue("@ProdutoId", entradaEstoque.ProdutoId);
                comandoEstoque.Parameters.AddWithValue("@Qtde", entradaEstoque.Qtde);
                comandoEstoque.ExecuteNonQuery();
                comandoEstoque.Dispose();

                Commit();
            }
            catch (SqlException e)
            {
                Rollback();
                throw e;
            }
            catch (InvalidOperationException e)
            {
                Rollback();
                throw e;
            }
            finally
            {
                Desconectar();
            }
        }