private void grava_historico(Compra compra, bool baixaEstoque) { Historico_Estoque_Preco historico; Produto produto; compra.Salvar(); produtos_venda_todos.Deletar(compra.COM_CODIGO); foreach (Produtos_Compra produtos_compra_anterior in produtos_venda_todos_anterior) { produto = new Produto(produtos_compra_anterior.PC_PRODUTO); produto.PRO_ESTOQUE -= produtos_compra_anterior.PC_QTDE; produto.Salvar(); historico = new Historico_Estoque_Preco(); historico.HEP_CODIGO = 0; historico.HEP_COMPRA = compra.COM_CODIGO; historico.HEP_DATA = DateTime.Now; historico.HEP_ESTOQUE_ANTERIOR = produto.PRO_ESTOQUE + produtos_compra_anterior.PC_QTDE; historico.HEP_ESTOQUE_ATUAL = produto.PRO_ESTOQUE; historico.HEP_PRECO_UNITARIO = produtos_compra_anterior.PC_PRECO_COMPRA; historico.HEP_PRECO_TOTAL = produtos_compra_anterior.PC_TOTAL; historico.HEP_PRODUTO = produtos_compra_anterior.PC_PRODUTO; historico.HEP_QTDE = produtos_compra_anterior.PC_QTDE; historico.HEP_USUARIO = Global.FUN_CODIGO; historico.Salvar(); } foreach (Produtos_Compra produtos_compra in produtos_venda_todos) { produtos_compra.PC_COMPRA = compra.COM_CODIGO; produtos_compra.Salvar(); produto = new Produto(produtos_compra.PC_PRODUTO); if (baixaEstoque) { produto.PRO_ESTOQUE -= produtos_compra.PC_QTDE; if (produto.PRO_ULT_COMPRA < compra.COM_CODIGO) { produto.PRO_ULT_COMPRA = compra.COM_CODIGO; produto.PRO_PRECO_VENDA = produtos_compra.PC_PRECO_COMPRA; } produto.Salvar(); } historico = new Historico_Estoque_Preco(); historico.HEP_CODIGO = 0; historico.HEP_COMPRA = compra.COM_CODIGO; historico.HEP_DATA = DateTime.Now; historico.HEP_ESTOQUE_ANTERIOR = produto.PRO_ESTOQUE - produtos_compra.PC_QTDE; historico.HEP_ESTOQUE_ATUAL = produto.PRO_ESTOQUE; historico.HEP_PRECO_UNITARIO = produtos_compra.PC_PRECO_COMPRA; historico.HEP_PRECO_TOTAL = produtos_compra.PC_TOTAL; historico.HEP_PRODUTO = produtos_compra.PC_PRODUTO; historico.HEP_QTDE = produtos_compra.PC_QTDE; historico.HEP_USUARIO = Global.FUN_CODIGO; historico.Salvar(); } }
public void Gravar(bool Mensagem_Gravar) { Compra compra; Historico_Estoque_Preco historico; Produto produto; if (tb_codigo.Text == string.Empty) { compra = new Compra(); compra.COM_OBS = ""; compra.COM_DATA_CANCELADO = DateTime.Parse("01/01/1800"); } else { compra = new Compra(int.Parse(tb_codigo.Text)); } try { compra.COM_FORNECEDOR = int.Parse(cb_fornecedor.SelectedValue.ToString()); } catch (Exception) { compra.COM_FORNECEDOR = 0; } try { compra.COM_LANCAMENTO = int.Parse(cb_lancamento.SelectedValue.ToString()); } catch (Exception) { compra.COM_LANCAMENTO = 0; } try { compra.COM_NF = int.Parse(tb_nf.Text); } catch (Exception) { compra.COM_NF = 0; } try { compra.COM_DATA = DateTime.Parse(tb_data.Text); } catch (Exception) { compra.COM_DATA = DateTime.Now; } compra.COM_ALTERACAO = DateTime.Now; if (rb_nao_gerar.Checked) { compra.COM_TIPO_PAGTO = 0; } else if (rb_avista.Checked) { compra.COM_TIPO_PAGTO = 1; } else { compra.COM_TIPO_PAGTO = 2; } compra.COM_OUT_DESPESAS = float.Parse(tb_out_desp.Text); compra.COM_FRETE = float.Parse(tb_frete.Text); compra.COM_ACRESCIMO = float.Parse(tb_acresc.Text); compra.COM_DESCONTO = float.Parse(tb_desc.Text); compra.COM_TOTAL = float.Parse(tb_total.Text); compra.Salvar(); Log log = new Log(); log.LOG_USUARIO = Global.FUN_CODIGO; log.LOG_DATA = DateTime.Now; log.LOG_TELA = this.Text; if (tb_codigo.Text == string.Empty) { log.LOG_DESCRICAO = "Cadastrou a compra de código: " + compra.COM_CODIGO.ToString() + " e fornecedor: " + cb_fornecedor.Text + "."; if (compra.COM_FORNECEDOR > 0) { Fornecedor fornecedor = new Fornecedor(compra.COM_FORNECEDOR); fornecedor.FOR_ULT_COMPRA = compra.COM_CODIGO; fornecedor.Salvar(); } produtos_compra_todos.Deletar(compra.COM_CODIGO); foreach (Produtos_Compra produtos_compra in produtos_compra_todos) { produtos_compra.PC_COMPRA = compra.COM_CODIGO; produtos_compra.Salvar(); produto = new Produto(produtos_compra.PC_PRODUTO); produto.PRO_ESTOQUE += produtos_compra.PC_QTDE; produto.PRO_ULT_COMPRA = compra.COM_CODIGO; produto.PRO_PRECO_COMPRA = produtos_compra.PC_PRECO_COMPRA; produto.Salvar(); historico = new Historico_Estoque_Preco(); historico.HEP_CODIGO = 0; historico.HEP_COMPRA = compra.COM_CODIGO; historico.HEP_DATA = DateTime.Now; historico.HEP_ESTOQUE_ANTERIOR = produto.PRO_ESTOQUE - produtos_compra.PC_QTDE; historico.HEP_ESTOQUE_ATUAL = produto.PRO_ESTOQUE; historico.HEP_PRECO_UNITARIO = produtos_compra.PC_PRECO_COMPRA; historico.HEP_PRECO_TOTAL = produtos_compra.PC_TOTAL; historico.HEP_PRODUTO = produtos_compra.PC_PRODUTO; historico.HEP_QTDE = produtos_compra.PC_QTDE; historico.HEP_USUARIO = Global.FUN_CODIGO; historico.Salvar(); } } else { log.LOG_DESCRICAO = "Alterou a compra de código: " + compra.COM_CODIGO.ToString() + " e fornecedor: " + cb_fornecedor.Text + "."; } log.Save(); if (Configuracoes.Default.Mensagem_Gravar == true && Mensagem_Gravar == true) { if (tb_codigo.Text == string.Empty) { MessageBox.Show("Cadastro efetuado com sucesso!", "3Pratos", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Alteração efetuada com sucesso!", "3Pratos", MessageBoxButtons.OK, MessageBoxIcon.Information); } } Ativar_Desativar(false); tb_codigo.Text = compra.COM_CODIGO.ToString(); tb_codigo.Enabled = false; btn_produto.Enabled = false; btn_gravar.Enabled = false; btn_cancelar.Enabled = true; cb_fornecedor.Focus(); }
public void Gravar(bool Mensagem_Gravar) { Compra compra; Historico_Estoque_Preco historico; Produto produto; if (tb_codigo.Text == string.Empty) { compra = new Compra(); compra.COM_OBS = ""; compra.COM_DATA_CANCELADO = DateTime.Parse("01/01/1800"); } else { compra = new Compra(int.Parse(tb_codigo.Text), 1); } try { compra.COM_CLIENTE_FORNECEDOR = int.Parse(cb_cliente.SelectedValue.ToString()); } catch (Exception) { compra.COM_CLIENTE_FORNECEDOR = 0; } compra.COM_LANCAMENTO = 1; try { compra.COM_DATA = DateTime.Parse(tb_data.Text); } catch (Exception) { compra.COM_DATA = DateTime.Now; } compra.COM_ALTERACAO = DateTime.Now; if (rb_nao_gerar.Checked) { compra.COM_TIPO_PAGTO = 0; } else if (rb_avista.Checked) { compra.COM_TIPO_PAGTO = 1; } else { compra.COM_TIPO_PAGTO = 2; } compra.COM_OUT_DESPESAS = float.Parse(tb_out_desp.Text); compra.COM_ACRESCIMO = float.Parse(tb_acresc.Text); compra.COM_DESCONTO = float.Parse(tb_desc.Text); compra.COM_TOTAL = float.Parse(tb_total.Text); compra.COM_TIPO_MOVIMENTO = rb_orcamento.Checked ? 0 : rb_venda.Checked ? 1 : -1; //ORCAMENTO = 0 , VENDA = 1, ERROR = -1 string SqlVenda = "BEGIN TRANSACTION "; for (int i = 0; i < dgv_produtos.RowCount; i++) { double qtd = double.Parse(dgv_produtos["PC_QTDE_FORMATADO", i].Value.ToString()); int cod_prod = int.Parse(dgv_produtos["PC_PRODUTO_FORMATADO", i].Value.ToString()); SqlVenda += string.Format(@" IF (SELECT 1 FROM Produto WHERE PRO_CODIGO = {0} AND (PRO_ESTOQUE - {1}) >= 0) = 1 BEGIN UPDATE Produto SET PRO_ESTOQUE = (PRO_ESTOQUE - {1}) WHERE PRO_CODIGO = {0} SELECT 1 as Aviso RETURN END ELSE BEGIN SELECT 0 as Aviso ROLLBACK TRANSACTION RETURN END" , cod_prod, qtd); } SqlVenda += " COMMIT TRANSACTION "; if (rb_venda.Enabled == true && rb_venda.Checked == true) { if (compra.BaixaEstoque(SqlVenda) == 0) { MessageBox.Show("Não há produto suficiente para esta transação!", "Joincar", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { compra.Salvar(); produtos_venda_todos.Deletar(compra.COM_CODIGO); foreach (Produtos_Compra produtos_compra_anterior in produtos_venda_todos_anterior) { produto = new Produto(produtos_compra_anterior.PC_PRODUTO); produto.PRO_ESTOQUE -= produtos_compra_anterior.PC_QTDE; produto.Salvar(); historico = new Historico_Estoque_Preco(); historico.HEP_CODIGO = 0; historico.HEP_COMPRA = compra.COM_CODIGO; historico.HEP_DATA = DateTime.Now; historico.HEP_ESTOQUE_ANTERIOR = produto.PRO_ESTOQUE + produtos_compra_anterior.PC_QTDE; historico.HEP_ESTOQUE_ATUAL = produto.PRO_ESTOQUE; historico.HEP_PRECO_UNITARIO = produtos_compra_anterior.PC_PRECO_COMPRA; historico.HEP_PRECO_TOTAL = produtos_compra_anterior.PC_TOTAL; historico.HEP_PRODUTO = produtos_compra_anterior.PC_PRODUTO; historico.HEP_QTDE = produtos_compra_anterior.PC_QTDE; historico.HEP_USUARIO = Global.FUN_CODIGO; historico.Salvar(); } foreach (Produtos_Compra produtos_compra in produtos_venda_todos) { produtos_compra.PC_COMPRA = compra.COM_CODIGO; produtos_compra.Salvar(); produto = new Produto(produtos_compra.PC_PRODUTO); produto.PRO_ESTOQUE -= produtos_compra.PC_QTDE; if (produto.PRO_ULT_COMPRA < compra.COM_CODIGO) { produto.PRO_ULT_COMPRA = compra.COM_CODIGO; produto.PRO_PRECO_COMPRA = produtos_compra.PC_PRECO_COMPRA; } produto.Salvar(); historico = new Historico_Estoque_Preco(); historico.HEP_CODIGO = 0; historico.HEP_COMPRA = compra.COM_CODIGO; historico.HEP_DATA = DateTime.Now; historico.HEP_ESTOQUE_ANTERIOR = produto.PRO_ESTOQUE - produtos_compra.PC_QTDE; historico.HEP_ESTOQUE_ATUAL = produto.PRO_ESTOQUE; historico.HEP_PRECO_UNITARIO = produtos_compra.PC_PRECO_COMPRA; historico.HEP_PRECO_TOTAL = produtos_compra.PC_TOTAL; historico.HEP_PRODUTO = produtos_compra.PC_PRODUTO; historico.HEP_QTDE = produtos_compra.PC_QTDE; historico.HEP_USUARIO = Global.FUN_CODIGO; historico.Salvar(); } } } if (rb_orcamento.Checked == true) { compra.Salvar(); } Log log = new Log(); log.LOG_USUARIO = Global.FUN_CODIGO; log.LOG_DATA = DateTime.Now; log.LOG_TELA = this.Text; if (tb_codigo.Text == string.Empty) { log.LOG_DESCRICAO = "Cadastrou a compra de código: " + compra.COM_CODIGO.ToString() + " e cliente: " + cb_cliente.Text + "."; } else { log.LOG_DESCRICAO = "Alterou a compra de código: " + compra.COM_CODIGO.ToString() + " e cliente: " + cb_cliente.Text + "."; } log.Save(); if (Configuracoes.Default.Mensagem_Gravar == true && Mensagem_Gravar == true) { if (tb_codigo.Text == string.Empty) { MessageBox.Show("Cadastro efetuado com sucesso!", "Joincar", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Alteração efetuada com sucesso!", "Joincar", MessageBoxButtons.OK, MessageBoxIcon.Information); } } Ativar_Desativar(false); tb_codigo.Text = compra.COM_CODIGO.ToString(); tb_codigo.Enabled = false; btn_cancelar.Enabled = true; btn_imprimir.Enabled = true; dgv_produtos.Enabled = true; this.Show(); cb_cliente.Focus(); }