private async void SetProduto(Enuns.TipoCrud tipoCrud)
        {
            Produto produto = new Produto();

            string mensagemException = Utilidade.GetMensagemParaException(tipoCrud);
            string mensagemCrud      = Utilidade.GetMensagemParaCrud(tipoCrud);

            try
            {
                #region set parameters
                produto.Descricao     = txtDescricao.Text;
                produto.CFOP          = Convert.ToInt32(txtCFOP.Text);
                produto.EAN           = txtEAN.Text;
                produto.NCM           = Convert.ToInt32(txtNCM.Text);
                produto.Unidade       = txtUnidade.Text;
                produto.ValorUnitario = Convert.ToDecimal(txtValorUnitario.Text);
                produto.Cliente       = MyGlobals.Cliente;

                #endregion

                HttpResponseMessage response = new HttpResponseMessage();

                if (tipoCrud.Equals(Enuns.TipoCrud.novo))
                {
                    response = await ProdutoBLL.AdicionarProdutoBLL(produto);

                    if (response.IsSuccessStatusCode)
                    {
                        MessageBox.Show("Produto " + mensagemCrud + " com sucesso!", "Produto", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                    else
                    {
                        MessageBox.Show("Ocorreu um erro ao " + mensagemException + " o produto! \nErro: " + response.RequestMessage, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else if (tipoCrud.Equals(Enuns.TipoCrud.update))
                {
                    produto.Id = int.Parse(txtIdProduto.Text);
                    response   = await ProdutoBLL.AtualizarProdutoBLL(produto);

                    if (response.IsSuccessStatusCode)
                    {
                        MessageBox.Show("Produto " + mensagemCrud + " com sucesso!", "Produto", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                    else
                    {
                        MessageBox.Show("Ocorreu um erro ao " + mensagemException + " o produto! \nErro: " + response.RequestMessage, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else if (tipoCrud.Equals(Enuns.TipoCrud.delete))
                {
                    produto.Id = int.Parse(txtIdProduto.Text);
                    response   = await ProdutoBLL.DeletarProdutoBLL(produto.Id);

                    if (response.IsSuccessStatusCode)
                    {
                        MessageBox.Show("Produto " + mensagemCrud + " com sucesso!", "Produto", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                    else
                    {
                        MessageBox.Show("Ocorreu um erro ao " + mensagemException + " o produto! \nErro: " + response.RequestMessage, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    MessageBox.Show("Erro ao fazer operação no Produto");
                }

                LimpaCampos();
                PreencherGrid();
                btnSalvar.Enabled = false;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ocorreu um erro ao " + mensagemException + " o produto! \nErro: " + ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }