public void Confirma() { try { PreVendaCabecalhoVO PreVendaCabecalho = new PreVendaCabecalhoVO(); PreVendaCabecalho.IdEmpresa = Constantes.EMPRESA_BALCAO; PreVendaCabecalho.IdPessoa = Convert.ToInt32(editCodigoCliente.Text); PreVendaCabecalho.NomeDestinatario = EditNome.Text; PreVendaCabecalho.CpfCnpjDestinatario = editCpfCnpj.Text; PreVendaCabecalho.DataEmissao = DateTime.Now; PreVendaCabecalho.HoraEmissao = DateTime.Now.ToString("HH:mm:ss"); PreVendaCabecalho.Situacao = "P"; PreVendaCabecalho.TaxaAcrescimo = 0; PreVendaCabecalho.Acrescimo = 0; PreVendaCabecalho.TaxaDesconto = 0; PreVendaCabecalho.Desconto = 0; PreVendaCabecalho.SubTotal = TotalGeral; PreVendaCabecalho.Valor = TotalGeral; PreVendaController.InserePreVenda(PreVendaCabecalho, ListaPreVendaDetalhe); //TODO: Não é permitido imprimir a pré-venda, mas você deve pelo menos informar seu número para o cliente. Implemente isso. MessageBox.Show("Pré-Venda gravada com sucesso!", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } catch (Exception eError) { Log.write(eError.ToString()); } }
public FPreVenda() { // Required for Windows Form Designer support InitializeComponent(); PreVendaController = new PreVendaController(); ProdutoController = new ProdutoController(); PreVendaCabecalho = new PreVendaCabecalhoVO(); ListaPreVendaDetalhe = new List <PreVendaDetalheVO>(); Item = 1; TotalGeral = 0; GridItens.AutoGenerateColumns = false; }
private void Confirma() { if (MessageBox.Show("Tem certeza que deseja mesclar as Pré-Vendas selecionadas?", "Mesclar Pre-Venda", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { FCaixa.LabelMensagens.Text = "Aguarde. Mesclando Pré-Venda!"; List <PreVendaCabecalhoVO> ListaPreVendaCabecalhoMescla = new List <PreVendaCabecalhoVO>(); List <PreVendaDetalheVO> ListaPreVendaDetalheMescla = new List <PreVendaDetalheVO>(); PreVendaCabecalhoVO PreVendaCabecalho; PreVendaDetalheVO PreVendaDetalhe; for (int i = 0; i <= GridMestre.Rows.Count - 1; i++) { if (ListaPreVendaCabecalho[i].Situacao == "X") { PreVendaCabecalho = new PreVendaCabecalhoVO(); PreVendaCabecalho.Id = ListaPreVendaCabecalho[i].Id; PreVendaCabecalho.Valor = ListaPreVendaCabecalho[i].Valor; ListaPreVendaCabecalhoMescla.Add(PreVendaCabecalho); for (int j = 0; j <= GridDetalhe.Rows.Count - 1; j++) { //TODO: Observe que não temos todos esses itens na lista. Implemente isso no Controller ao carregar a tabela de detalhe. PreVendaDetalhe = new PreVendaDetalheVO(); PreVendaDetalhe.IdPreVenda = PreVendaCabecalho.Id; PreVendaDetalhe.Id = ListaPreVendaDetalhe[j].Id; PreVendaDetalhe.IdProduto = ListaPreVendaDetalhe[j].IdProduto; PreVendaDetalhe.GtinProduto = ListaPreVendaDetalhe[j].GtinProduto; PreVendaDetalhe.NomeProduto = ListaPreVendaDetalhe[j].NomeProduto; PreVendaDetalhe.UnidadeProduto = ListaPreVendaDetalhe[j].UnidadeProduto; PreVendaDetalhe.Cancelado = ListaPreVendaDetalhe[j].Cancelado; PreVendaDetalhe.Quantidade = ListaPreVendaDetalhe[j].Quantidade; PreVendaDetalhe.ValorUnitario = ListaPreVendaDetalhe[j].ValorUnitario; PreVendaDetalhe.ValorTotal = ListaPreVendaDetalhe[j].ValorTotal; ListaPreVendaDetalheMescla.Add(PreVendaDetalhe); } } } if (ListaPreVendaDetalheMescla.Count < 1) { MessageBox.Show("Nenhum item selecionado!", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { PreVendaController.MesclaPreVenda(ListaPreVendaCabecalhoMescla, ListaPreVendaDetalheMescla); FCaixa.LabelMensagens.Text = "Venda em andamento."; this.Close(); } } }
public List <PreVendaCabecalhoVO> TabelaPreVendaCabecalho() { List <PreVendaCabecalhoVO> ListaPreVendaCabecalho = new List <PreVendaCabecalhoVO>(); ConsultaSQL = " SELECT * FROM PRE_VENDA_CABECALHO WHERE SITUACAO = 'P' ORDER BY ID"; try { comando = new MySqlCommand(ConsultaSQL, conexao); leitor = comando.ExecuteReader(); while (leitor.Read()) { PreVendaCabecalhoVO PreVendaCabecalho = new PreVendaCabecalhoVO(); PreVendaCabecalho.Id = Convert.ToInt32(leitor["ID"]); PreVendaCabecalho.DataEmissao = Convert.ToDateTime(leitor["DATA_PV"]); PreVendaCabecalho.HoraEmissao = leitor["HORA_PV"].ToString(); PreVendaCabecalho.Valor = Convert.IsDBNull(leitor["VALOR"]) ? 0 : Convert.ToDecimal(leitor["VALOR"]); ListaPreVendaCabecalho.Add(PreVendaCabecalho); } return(ListaPreVendaCabecalho); } catch (Exception eError) { Log.write(eError.ToString()); return(null); } finally { if (leitor != null) { leitor.Close(); } } }
public void InserePreVenda(PreVendaCabecalhoVO PreVendaCabecalho, List <PreVendaDetalheVO> ListaPreVendaDetalhe) { // insere o novo PreVenda no cabecalho ConsultaSQL = "insert into PRE_VENDA_CABECALHO (" + "ID_EMPRESA," + "NOME_DESTINATARIO," + "CPF_CNPJ_DESTINATARIO," + "DATA_PV," + "HORA_PV," + "SITUACAO," + "SUBTOTAL," + "VALOR" + ") values (" + "?pIdEmpresa," + "?pDestinatario," + "?pCPFCNPJ," + "?pDataEmissao," + "?pHoraEmissao," + "?pSituacao," + "?pSubTotal," + "?pValor)"; try { comando = new MySqlCommand(ConsultaSQL, conexao); comando.Parameters.AddWithValue("?pIdEmpresa", PreVendaCabecalho.IdEmpresa); comando.Parameters.AddWithValue("?pDestinatario", PreVendaCabecalho.NomeDestinatario); comando.Parameters.AddWithValue("?pCPFCNPJ", PreVendaCabecalho.CpfCnpjDestinatario); comando.Parameters.AddWithValue("?pDataEmissao", PreVendaCabecalho.DataEmissao); comando.Parameters.AddWithValue("?pHoraEmissao", PreVendaCabecalho.HoraEmissao); comando.Parameters.AddWithValue("?pSituacao", PreVendaCabecalho.Situacao); comando.Parameters.AddWithValue("?pSubTotal", PreVendaCabecalho.SubTotal); comando.Parameters.AddWithValue("?pValor", PreVendaCabecalho.Valor); comando.ExecuteNonQuery(); comando = new MySqlCommand("select max(ID) as ID from PRE_VENDA_CABECALHO", conexao); leitor = comando.ExecuteReader(); leitor.Read(); PreVendaCabecalho.Id = Convert.ToInt32(leitor["ID"]); } catch (Exception eError) { Log.write(eError.ToString()); } finally { if (leitor != null) { leitor.Close(); } } // insere os dados na tabela de detalhes ConsultaSQL = "insert into PRE_VENDA_DETALHE (" + "ID_PRODUTO," + "ID_PRE_VENDA_CABECALHO," + "ITEM," + "QUANTIDADE," + "VALOR_UNITARIO," + "VALOR_TOTAL," + "CANCELADO," + "GTIN_PRODUTO," + "NOME_PRODUTO," + "UNIDADE_PRODUTO) values (" + "?pIdProduto," + "?pIdPreVendaCabecalho," + "?pItem," + "?pQuantidade," + "?pValorUnitario," + "?pValorTotal," + "?pCancelado," + "?pGtinProduto," + "?pNomeProduto," + "?pUnidadeProduto)"; try { for (int i = 0; i <= ListaPreVendaDetalhe.Count - 1; i++) { comando = new MySqlCommand(ConsultaSQL, conexao); comando.Parameters.AddWithValue("?pIdProduto", ListaPreVendaDetalhe[i].IdProduto); comando.Parameters.AddWithValue("?pIdPreVendaCabecalho", PreVendaCabecalho.Id); comando.Parameters.AddWithValue("?pItem", ListaPreVendaDetalhe[i].Item); comando.Parameters.AddWithValue("?pQuantidade", ListaPreVendaDetalhe[i].Quantidade); comando.Parameters.AddWithValue("?pValorUnitario", ListaPreVendaDetalhe[i].ValorUnitario); comando.Parameters.AddWithValue("?pValorTotal", ListaPreVendaDetalhe[i].ValorTotal); comando.Parameters.AddWithValue("?pCancelado", ListaPreVendaDetalhe[i].Cancelado); comando.Parameters.AddWithValue("?pGtinProduto", ListaPreVendaDetalhe[i].GtinProduto); comando.Parameters.AddWithValue("?pNomeProduto", ListaPreVendaDetalhe[i].NomeProduto); comando.Parameters.AddWithValue("?pUnidadeProduto", ListaPreVendaDetalhe[i].UnidadeProduto); comando.ExecuteNonQuery(); } } catch (Exception eError) { Log.write(eError.ToString()); } finally { if (leitor != null) { leitor.Close(); } } }
public void CancelaPreVendasPendentes(int pId) { PreVendaCabecalhoVO PreVendaCabecalho = new PreVendaCabecalhoVO(); try { List <PreVendaCabecalhoVO> ListaPreVendaCabecalho = new List <PreVendaCabecalhoVO>(); List <PreVendaDetalheVO> ListaPreVendaDetalhe = new List <PreVendaDetalheVO>(); // ConsultaSQL = "select * from PRE_VENDA_CABECALHO where ID=" + Convert.ToString(pId); comando = new MySqlCommand(ConsultaSQL, conexao); leitor = comando.ExecuteReader(); leitor.Read(); { PreVendaCabecalho.Id = Convert.ToInt32(leitor["ID"]); PreVendaCabecalho.Valor = Convert.ToDecimal(leitor["VALOR"]); ListaPreVendaCabecalho.Add(PreVendaCabecalho); leitor.Close(); ConsultaSQL = "SELECT * FROM PRE_VENDA_DETALHE WHERE ID_PRE_VENDA_CABECALHO=" + Convert.ToString(PreVendaCabecalho.Id); comando = new MySqlCommand(ConsultaSQL, conexao); leitor = comando.ExecuteReader(); while (leitor.Read()) { PreVendaDetalheVO PreVendaDetalhe = new PreVendaDetalheVO(); PreVendaDetalhe.IdProduto = Convert.ToInt32(leitor["ID_PRODUTO"]); PreVendaDetalhe.IdPreVenda = Convert.ToInt32(leitor["ID_PRE_VENDA_CABECALHO"]); PreVendaDetalhe.IdProduto = Convert.ToInt32(leitor["ID_PRODUTO"]); PreVendaDetalhe.Item = Convert.ToInt32(leitor["ITEM"]); PreVendaDetalhe.Quantidade = Convert.ToDecimal(leitor["QUANTIDADE"]); PreVendaDetalhe.ValorUnitario = Convert.ToDecimal(leitor["VALOR_UNITARIO"]); PreVendaDetalhe.ValorTotal = Convert.ToDecimal(leitor["VALOR_TOTAL"]); PreVendaDetalhe.Cancelado = Convert.ToString(leitor["CANCELADO"]); PreVendaDetalhe.GtinProduto = Convert.ToString(leitor["GTIN_PRODUTO"]); PreVendaDetalhe.NomeProduto = Convert.ToString(leitor["NOME_PRODUTO"]); PreVendaDetalhe.UnidadeProduto = Convert.ToString(leitor["UNIDADE_PRODUTO"]); PreVendaDetalhe.ECFICMS = Convert.ToString(leitor["ECF_ICMS_ST"]); ListaPreVendaDetalhe.Add(PreVendaDetalhe); } } if (leitor != null) { leitor.Close(); } // atualiza no banco de dados ConsultaSQL = "update PRE_VENDA_CABECALHO set " + "SITUACAO = " + Biblioteca.QuotedStr("C") + " where ID=" + Convert.ToString(PreVendaCabecalho.Id); comando = new MySqlCommand(ConsultaSQL, conexao); comando.ExecuteNonQuery(); CancelaPreVendasPendentes(ListaPreVendaCabecalho, ListaPreVendaDetalhe); } catch (Exception eError) { Log.write(eError.ToString()); } finally { if (leitor != null) { leitor.Close(); } } }
public void CancelaPreVendasPendentes(System.DateTime pDataMovimento) { MySqlDataReader leitorInterno; // verifica se existem PV pendentes ConsultaSQL = "select * from PRE_VENDA_CABECALHO where " + "SITUACAO = " + Biblioteca.QuotedStr("P") + " and DATA_PV < ?pData "; try { comando = new MySqlCommand(ConsultaSQL, conexao); comando.Parameters.AddWithValue("?pData", pDataMovimento); leitor = comando.ExecuteReader(); // caso existam PV pendentes procede com o processo de cancelamento de pre-vendas if (leitor.HasRows) { leitor.Close(); List <PreVendaCabecalhoVO> ListaPreVendaCabecalho = new List <PreVendaCabecalhoVO>(); List <PreVendaDetalheVO> ListaPreVendaDetalhe = new List <PreVendaDetalheVO>(); // ConsultaSQL = "select * from PRE_VENDA_CABECALHO where " + "SITUACAO = " + Biblioteca.QuotedStr("P") + " and DATA_PV < ?pData"; comando = new MySqlCommand(ConsultaSQL, conexao); comando.Parameters.AddWithValue("?pData", pDataMovimento); leitor = comando.ExecuteReader(); while (leitor.Read()) { PreVendaCabecalhoVO PreVendaCabecalho = new PreVendaCabecalhoVO(); PreVendaCabecalho.Id = Convert.ToInt32(leitor["ID"]); PreVendaCabecalho.Valor = Convert.ToDecimal(leitor["VALOR"]); ListaPreVendaCabecalho.Add(PreVendaCabecalho); comando = new MySqlCommand("SELECT * FROM PRE_VENDA_DETALHE WHERE ID_PRE_VENDA_CABECALHO=" + Convert.ToString(PreVendaCabecalho.Id), conexao); leitorInterno = comando.ExecuteReader(); while (leitorInterno.Read()) { PreVendaDetalheVO PreVendaDetalhe = new PreVendaDetalheVO(); PreVendaDetalhe.IdProduto = Convert.ToInt32(leitor["ID_PRODUTO"]); PreVendaDetalhe.IdPreVenda = Convert.ToInt32(leitor["ID_PRE_VENDA_CABECALHO"]); PreVendaDetalhe.IdProduto = Convert.ToInt32(leitor["ID_PRODUTO"]); PreVendaDetalhe.Item = Convert.ToInt32(leitor["ITEM"]); PreVendaDetalhe.Quantidade = Convert.ToDecimal(leitor["QUANTIDADE"]); PreVendaDetalhe.ValorUnitario = Convert.ToDecimal(leitor["VALOR_UNITARIO"]); PreVendaDetalhe.ValorTotal = Convert.ToDecimal(leitor["VALOR_TOTAL"]); PreVendaDetalhe.Cancelado = Convert.ToString(leitor["CANCELADO"]); PreVendaDetalhe.GtinProduto = Convert.ToString(leitor["GTIN_PRODUTO"]); PreVendaDetalhe.NomeProduto = Convert.ToString(leitor["NOME_PRODUTO"]); PreVendaDetalhe.UnidadeProduto = Convert.ToString(leitor["UNIDADE_PRODUTO"]); PreVendaDetalhe.ECFICMS = Convert.ToString(leitor["ECF_ICMS_ST"]); ListaPreVendaDetalhe.Add(PreVendaDetalhe); } } // atualiza no banco de dados ConsultaSQL = "update PRE_VENDA_CABECALHO set " + "SITUACAO = " + Biblioteca.QuotedStr("C") + " where SITUACAO = " + Biblioteca.QuotedStr("P") + " and DATA_PV < ?pData"; comando.Parameters.AddWithValue("?pData", pDataMovimento); comando.ExecuteNonQuery(); CancelaPreVendasPendentes(ListaPreVendaCabecalho, ListaPreVendaDetalhe); } } catch (Exception eError) { Log.write(eError.ToString()); } finally { if (leitor != null) { leitor.Close(); } } }
public void MesclaPreVenda(List <PreVendaCabecalhoVO> ListaPreVendaCabecalho, List <PreVendaDetalheVO> ListaPreVendaDetalhe) { decimal TotalNovaPreVenda; // inicia e configura a nova Pre-Venda PreVendaCabecalhoVO NovaPreVenda = new PreVendaCabecalhoVO(); NovaPreVenda.IdPessoa = ListaPreVendaCabecalho[0].IdPessoa; NovaPreVenda.NomeDestinatario = ListaPreVendaCabecalho[0].NomeDestinatario; NovaPreVenda.CpfCnpjDestinatario = ListaPreVendaCabecalho[0].CpfCnpjDestinatario; NovaPreVenda.DataEmissao = DateTime.Now; NovaPreVenda.HoraEmissao = DateTime.Now.ToString("HH:mm:ss"); NovaPreVenda.Situacao = "P"; TotalNovaPreVenda = 0; // atualiza a tabela de cabecalho for (int i = 0; i <= ListaPreVendaCabecalho.Count - 1; i++) { // altera a situacao da PV selecionada para M de mesclada ConsultaSQL = "update PRE_VENDA_CABECALHO set " + "SITUACAO=?pSituacao " + " where ID = ?pId"; TotalNovaPreVenda = Biblioteca.TruncaValor(TotalNovaPreVenda, Constantes.DECIMAIS_VALOR) + Biblioteca.TruncaValor(ListaPreVendaCabecalho[i].SubTotal, Constantes.DECIMAIS_VALOR); try { comando = new MySqlCommand(ConsultaSQL, conexao); comando.Parameters.AddWithValue("?pId", ListaPreVendaCabecalho[i].Id); comando.Parameters.AddWithValue("?pSituacao", "M"); comando.ExecuteNonQuery(); } catch (Exception eError) { Log.write(eError.ToString()); } } // cria uma nova PV ConsultaSQL = "insert into PRE_VENDA_CABECALHO (" + "NOME_DESTINATARIO," + "CPF_CNPJ_DESTINATARIO," + "SUBTOTAL," + "DATA_PV," + "HORA_PV," + "SITUACAO, ID_PESSOA) values (" + "?pDestinatario," + "?pCPFCNPJ," + "?pSubTotal," + "?pDataEmissao," + "?pHoraEmissao," + "?psituacao, ?pIdPessoa)"; try { comando = new MySqlCommand(ConsultaSQL, conexao); comando.Parameters.AddWithValue("?pDestinatario", NovaPreVenda.NomeDestinatario); comando.Parameters.AddWithValue("?pCPFCNPJ", NovaPreVenda.CpfCnpjDestinatario); comando.Parameters.AddWithValue("?pDataEmissao", NovaPreVenda.DataEmissao); comando.Parameters.AddWithValue("?pHoraEmissao", NovaPreVenda.HoraEmissao); comando.Parameters.AddWithValue("?pSituacao", NovaPreVenda.Situacao); comando.Parameters.AddWithValue("?pSubTotal", TotalNovaPreVenda); comando.Parameters.AddWithValue("?pIdPessoa", NovaPreVenda.IdPessoa); comando.ExecuteNonQuery(); ConsultaSQL = "select max(ID) as ID from PRE_VENDA_CABECALHO"; comando = new MySqlCommand(ConsultaSQL, conexao); leitor = comando.ExecuteReader(); leitor.Read(); NovaPreVenda.Id = Convert.ToInt32(leitor["ID"]); } catch (Exception eError) { Log.write(eError.ToString()); } finally { if (leitor != null) { leitor.Close(); } } // atualiza a tabela de detalhes ConsultaSQL = "insert into PRE_VENDA_DETALHE (" + "ID_PRODUTO," + "ID_PRE_VENDA_CABECALHO," + "ITEM," + "QUANTIDADE," + "CANCELADO," + "GTIN_PRODUTO," + "NOME_PRODUTO," + "UNIDADE_PRODUTO," + "ECF_ICMS_ST," + "VALOR_UNITARIO," + "VALOR_TOTAL) " + " values (" + "?pID_PRODUTO," + "?pID_PRE_VENDA_CABECALHO," + "?pITEM," + "?pQUANTIDADE," + "?pCANCELADO," + "?pGTIN_PRODUTO," + "?pNOME_PRODUTO," + "?pUNIDADE_PRODUTO," + "?pECF_ICMS_ST," + "?pVALOR_UNITARIO," + "?pVALOR_TOTAL)"; try { for (int i = 0; i <= ListaPreVendaDetalhe.Count - 1; i++) { comando = new MySqlCommand(ConsultaSQL, conexao); comando.Parameters.AddWithValue("?pID_PRODUTO", ListaPreVendaDetalhe[i].IdProduto); comando.Parameters.AddWithValue("?pID_PRE_VENDA_CABECALHO", NovaPreVenda.Id); comando.Parameters.AddWithValue("?pITEM", ListaPreVendaDetalhe[i].Item); comando.Parameters.AddWithValue("?pQUANTIDADE", ListaPreVendaDetalhe[i].Quantidade); comando.Parameters.AddWithValue("?pCANCELADO", ListaPreVendaDetalhe[i].Cancelado); comando.Parameters.AddWithValue("?pGTIN_PRODUTO", ListaPreVendaDetalhe[i].GtinProduto); comando.Parameters.AddWithValue("?pNOME_PRODUTO", ListaPreVendaDetalhe[i].NomeProduto); comando.Parameters.AddWithValue("?pUNIDADE_PRODUTO", ListaPreVendaDetalhe[i].UnidadeProduto); comando.Parameters.AddWithValue("?pECF_ICMS_ST", ListaPreVendaDetalhe[i].ECFICMS); comando.Parameters.AddWithValue("?pVALOR_UNITARIO", ListaPreVendaDetalhe[i].ValorUnitario); comando.Parameters.AddWithValue("?pVALOR_TOTAL", ListaPreVendaDetalhe[i].ValorTotal); comando.ExecuteNonQuery(); } } catch (Exception eError) { Log.write(eError.ToString()); } CancelaPreVendasPendentes(ListaPreVendaCabecalho, ListaPreVendaDetalhe); FCaixa.CarregaPreVenda(Convert.ToString(NovaPreVenda.Id)); }