public static Boolean Delete(NotaFiscalProdutoTO clsNotaFiscalProduto)
        {
            String myConnection = "Server=localhost;Database=gerenciadornf;Uid=root;Pwd=;";

            MySqlConnection connection = new MySqlConnection(myConnection);
            MySqlCommand cmd;
            connection.Open();

            try
            {
                StringBuilder strSql = new StringBuilder();
                strSql.Append("DELETE FROM NotaFiscalProduto WHERE [email protected]");

                cmd = connection.CreateCommand();

                cmd.CommandText = strSql.ToString();
                cmd.Parameters.AddWithValue("@idNotaFiscalProduto", clsNotaFiscalProduto.IDNotaFiscalProduto);

                cmd.ExecuteNonQuery();
                return true;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (connection.State == ConnectionState.Open)
                {
                    connection.Close();
                }
            }
        }
        public static NotaFiscalProdutoTO GetNotaFiscalProdutoByID(int ID)
        {
            NotaFiscalProdutoTO clsNotaFiscalProduto = new NotaFiscalProdutoTO();

            String myConnection = "Server=localhost;Database=gerenciadornf;Uid=root;Pwd=;";

            MySqlConnection connection = new MySqlConnection(myConnection);
            MySqlCommand cmd;
            connection.Open();

            try
            {

                StringBuilder strSql = new StringBuilder();
                //string strSql = "SELECT NotaFiscalProduto.* FROM NotaFiscalProduto WHERE NotaFiscalProduto.idNotaFiscalProduto = @idNotaFiscalProduto";

                strSql.Append(" SELECT notafiscalproduto.*, PRODUTO.descricao,PRODUTO.valorunitario  FROM notafiscalproduto ");
                strSql.Append(" INNER JOIN PRODUTO ON PRODUTO.IDPRODUTO = notafiscalproduto.idproduto ");

                cmd = connection.CreateCommand();
                cmd.CommandText = strSql.ToString();
                cmd.Parameters.AddWithValue("@idNotaFiscalProduto", ID);
                cmd.ExecuteNonQuery();

                MySqlDataReader adap = cmd.ExecuteReader();
                while (adap.Read())
                {
                    clsNotaFiscalProduto.IDNotaFiscalProduto = Convert.ToInt32(adap["IDNotaFiscalProduto"]);
                    clsNotaFiscalProduto.IDNotaFiscal = Convert.ToInt32(adap["IDNotaFiscal"].ToString());
                    clsNotaFiscalProduto.IDProduto = Convert.ToInt32(adap["IDProduto"]);
                    clsNotaFiscalProduto.QtdProduto = Convert.ToInt32(adap["QtdProduto"]);
                    clsNotaFiscalProduto.ValorTotal = Convert.ToDouble(adap["ValorTotal"]);
                    clsNotaFiscalProduto.Icms = Convert.ToDouble(adap["icms"]);
                    clsNotaFiscalProduto.Ipi = Convert.ToDouble(adap["ipi"]);
                    clsNotaFiscalProduto.NomeProduto = adap["descricao"].ToString();
                    clsNotaFiscalProduto.ValorUnitario = Convert.ToDouble(adap["valorunitario"]);
                }

                return clsNotaFiscalProduto;
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                if (connection.State == ConnectionState.Open)
                {
                    connection.Close();
                }
            }
        }
        public static void insert(NotaFiscalProdutoTO clsNotaFiscalProduto)
        {
            Double dblValorTotalSemImposto = 0;
            Double dblValorIPI = 0;
            Double dblValorICMS = 0;

            dblValorTotalSemImposto = clsNotaFiscalProduto.ValorUnitario * clsNotaFiscalProduto.QtdProduto;

            if (clsNotaFiscalProduto.Ipi != 0)
            {
                dblValorIPI = dblValorTotalSemImposto * (clsNotaFiscalProduto.Ipi / 100);
            }
            if (clsNotaFiscalProduto.Icms != 0)
            {
                dblValorICMS = dblValorTotalSemImposto * (clsNotaFiscalProduto.Icms / 100);
            }

            clsNotaFiscalProduto.ValorTotal = dblValorTotalSemImposto + dblValorIPI + dblValorICMS;

            NotaFiscalProdutoDAL.insert(clsNotaFiscalProduto);
        }
        public static Boolean Update(NotaFiscalProdutoTO clsNotaFiscalProduto)
        {
            String myConnection = "Server=localhost;Database=gerenciadornf;Uid=root;Pwd=;";

            MySqlConnection connection = new MySqlConnection(myConnection);
            MySqlCommand cmd;
            connection.Open();

            try
            {
                StringBuilder strSql = new StringBuilder();
                strSql.Append("UPDATE NotaFiscalProduto SET [email protected], [email protected], [email protected], [email protected], [email protected], [email protected] WHERE [email protected]");

                cmd = connection.CreateCommand();

                cmd.CommandText = strSql.ToString();
                cmd.Parameters.AddWithValue("@idNotaFiscalProduto", clsNotaFiscalProduto.IDNotaFiscalProduto);
                cmd.Parameters.AddWithValue("@IDNotaFiscal", clsNotaFiscalProduto.IDNotaFiscal);
                cmd.Parameters.AddWithValue("@IDProduto", clsNotaFiscalProduto.IDProduto);
                cmd.Parameters.AddWithValue("@QtdProduto", clsNotaFiscalProduto.QtdProduto);
                cmd.Parameters.AddWithValue("@ValorTotal", clsNotaFiscalProduto.ValorTotal);
                cmd.Parameters.AddWithValue("@Icms", clsNotaFiscalProduto.Icms);
                cmd.Parameters.AddWithValue("@Ipi", clsNotaFiscalProduto.Ipi);

                cmd.ExecuteNonQuery();
                return true;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (connection.State == ConnectionState.Open)
                {
                    connection.Close();
                }
            }
        }
        public static List<NotaFiscalProdutoTO> listaNotaFiscalProdutoAll()
        {
            String myConnection = "Server=localhost;Database=gerenciadornf;Uid=root;Pwd=;";

            MySqlConnection connection = new MySqlConnection(myConnection);
            MySqlCommand cmd;
            connection.Open();

            try
            {
                List<NotaFiscalProdutoTO> clsNotaFiscalProdutos = new List<NotaFiscalProdutoTO>();

                string strSql = "SELECT NotaFiscalProduto.* FROM NotaFiscalProduto";

                cmd = connection.CreateCommand();
                cmd.CommandText = strSql;
                cmd.ExecuteNonQuery();

                MySqlDataReader adap = cmd.ExecuteReader();

                while (adap.Read())
                {
                    NotaFiscalProdutoTO clsNotaFiscalProduto = new NotaFiscalProdutoTO();

                    clsNotaFiscalProduto.IDNotaFiscalProduto = Convert.ToInt32(adap["IDNotaFiscalProduto"]);
                    clsNotaFiscalProduto.IDNotaFiscal = Convert.ToInt32(adap["IDNotaFiscal"].ToString());
                    clsNotaFiscalProduto.IDProduto = Convert.ToInt32(adap["IDProduto"]);
                    clsNotaFiscalProduto.QtdProduto = Convert.ToInt32(adap["QtdProduto"]);
                    clsNotaFiscalProduto.ValorTotal = Convert.ToDouble(adap["ValorTotal"]);
                    clsNotaFiscalProduto.ValorTotal = Convert.ToDouble(adap["icsm"]);
                    clsNotaFiscalProduto.ValorTotal = Convert.ToDouble(adap["ipi"]);

                    clsNotaFiscalProdutos.Add(clsNotaFiscalProduto);
                }

                return clsNotaFiscalProdutos;
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                if (connection.State == ConnectionState.Open)
                {
                    connection.Close();
                }
            }
        }
        public static void insert(NotaFiscalProdutoTO clsNotaFiscalProduto)
        {
            String myConnection = "Server=localhost;Database=gerenciadornf;Uid=root;Pwd=;";

            MySqlConnection connection = new MySqlConnection(myConnection);
            MySqlCommand cmd;
            connection.Open();

            try
            {
                StringBuilder strSql = new StringBuilder();
                strSql.Append("INSERT INTO NotaFiscalProduto(IDNotaFiscal, IDProduto, QtdProduto, ValorTotal, Icms, Ipi)VALUES (@IDNotaFiscal, @IDProduto, @QtdProduto, @ValorTotal, @Icms, @Ipi);");
                strSql.Append("SELECT NotaFiscalProduto.* FROM NotaFiscalProduto WHERE [email protected]@IDENTITY;");

                cmd = connection.CreateCommand();

                cmd.CommandText = strSql.ToString();

                cmd.Parameters.AddWithValue("@IDNotaFiscal", clsNotaFiscalProduto.IDNotaFiscal);
                cmd.Parameters.AddWithValue("@IDProduto", clsNotaFiscalProduto.IDProduto);
                cmd.Parameters.AddWithValue("@QtdProduto", clsNotaFiscalProduto.QtdProduto);
                cmd.Parameters.AddWithValue("@ValorTotal", clsNotaFiscalProduto.ValorTotal);
                cmd.Parameters.AddWithValue("@Icms", clsNotaFiscalProduto.Icms);
                cmd.Parameters.AddWithValue("@Ipi", clsNotaFiscalProduto.Ipi);

                cmd.ExecuteNonQuery();
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (connection.State == ConnectionState.Open)
                {
                    connection.Close();
                }
            }
        }
        public static List<NotaFiscalProdutoTO> getNotaFiscalProdutoByNF(int IDNotaFiscal)
        {
            String myConnection = "Server=localhost;Database=gerenciadornf;Uid=root;Pwd=;";

            MySqlConnection connection = new MySqlConnection(myConnection);
            MySqlCommand cmd;
            connection.Open();
            try
            {
                List<NotaFiscalProdutoTO> clsNotaFiscalProdutos = new List<NotaFiscalProdutoTO>();

                string strSql = "SELECT notafiscalproduto.*, produto.descricao as NomeProduto,produto.valorUnitario as ValorUnitario FROM notafiscalproduto INNER JOIN Produto ON Produto.idProduto = notafiscalProduto.idproduto WHERE [email protected]";

                cmd = connection.CreateCommand();
                cmd.CommandText = strSql;

                cmd.Parameters.AddWithValue("@IDNotaFiscal", IDNotaFiscal);
                cmd.ExecuteNonQuery();

                MySqlDataReader adap = cmd.ExecuteReader();

                while (adap.Read())
                {
                    NotaFiscalProdutoTO clsNotaFiscalProduto = new NotaFiscalProdutoTO();

                    clsNotaFiscalProduto.IDNotaFiscalProduto = Convert.ToInt32(adap["idNotaFiscalProduto"]);
                    clsNotaFiscalProduto.IDNotaFiscal = Convert.ToInt32(adap["IDNotaFiscal"]);
                    clsNotaFiscalProduto.IDProduto = Convert.ToInt32(adap["IDProduto"]);
                    clsNotaFiscalProduto.QtdProduto = Convert.ToInt32(adap["QtdProduto"]);
                    clsNotaFiscalProduto.ValorTotal = Convert.ToDouble(adap["ValorTotal"]);
                    clsNotaFiscalProduto.Icms = Convert.ToDouble(adap["icms"]);
                    clsNotaFiscalProduto.Ipi = Convert.ToDouble(adap["ipi"]);
                    clsNotaFiscalProduto.NomeProduto = adap["NomeProduto"].ToString();
                    clsNotaFiscalProduto.ValorUnitario = Convert.ToDouble(adap["ValorUnitario"]);
                    clsNotaFiscalProdutos.Add(clsNotaFiscalProduto);
                }

                return clsNotaFiscalProdutos;
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                if (connection.State == ConnectionState.Open)
                {
                    connection.Close();
                }
            }
        }
        protected void gvwNotaFiscalProduto_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            NotaFiscalProdutoTO clsNotaFiscalProduto = new NotaFiscalProdutoTO();
            Int32 ID = (Int32)gvwNotaFiscalProduto.DataKeys[e.RowIndex].Value;
            clsNotaFiscalProduto = NotaFiscalProdutoBLL.GetNotaFiscalProdutoByID(ID);
            NotaFiscalProdutoBLL.Delete(clsNotaFiscalProduto);

            Page.ClientScript.RegisterStartupScript(this.GetType(), "sucesso", "alert('produto excluido com sucesso')", true);

            LoadGrid();
            LoadGridNotaFiscalProduto();
        }
        protected void btnIncluirProduto_Click(object sender, EventArgs e)
        {
            NotaFiscalProdutoTO clsNotaFiscalProduto = new NotaFiscalProdutoTO();
            ProdutoTO clsProduto = new ProdutoTO();

            clsNotaFiscalProduto.IDNotaFiscal = this.idNotaFiscal;
            int idProduto = 0;
            int.TryParse(ddlProdutos.SelectedValue, out idProduto);
            clsNotaFiscalProduto.IDProduto = idProduto;

            clsProduto = ProdutoBLL.GetProdutoByID(idProduto);
            clsNotaFiscalProduto.ValorUnitario = clsProduto.ValorUnitario;

            clsNotaFiscalProduto.QtdProduto = Convert.ToInt32(txtQuantidade.Text);
            clsNotaFiscalProduto.Icms = Convert.ToDouble(txtICMS.Text);
            clsNotaFiscalProduto.Ipi = Convert.ToDouble(txtIPI.Text);

            NotaFiscalProdutoBLL.insert(clsNotaFiscalProduto);

            Page.ClientScript.RegisterStartupScript(this.GetType(), "sucesso", "alert('produto incluido com sucesso')", true);

            LoadGridNotaFiscalProduto();
        }
 public static Boolean Update(NotaFiscalProdutoTO clsNotaFiscalProduto)
 {
     return NotaFiscalProdutoDAL.Update(clsNotaFiscalProduto);
 }
 public static Boolean Delete(NotaFiscalProdutoTO clsNotaFiscalProduto)
 {
     return NotaFiscalProdutoDAL.Delete(clsNotaFiscalProduto);
 }