public static int AbrirComanda(ComandaResumida comanda) { String sqlInsert = @"INSERT INTO COMANDAVENDA(NUMEROVENDA,NUMEROCOMANDA,SITUACAO,DATAABERTURA,NOME,TELEFONE) VALUES(:NUMEROVENDA,:NUMEROCOMANDA,:SITUACAO,:DATAABERTURA,:NOME,:TELEFONE)"; comanda.NumeroVenda = PersistenciaOracle.ObterProximoMaximoValor("COMANDAVENDA", "NUMEROVENDA"); OracleConnection conexao = PersistenciaOracle.ObterConexao(); conexao.Open(); OracleCommand comando = new OracleCommand(sqlInsert); comando.Connection = conexao; comando.Parameters.Add("NUMEROVENDA", comanda.NumeroVenda); comando.Parameters.Add("NUMEROCOMANDA", comanda.Numero); comando.Parameters.Add("SITUACAO",Convert.ToInt32(comanda.Status)); comando.Parameters.Add("DATAABERTURA", DateTime.Now); comando.Parameters.Add("NOME", comanda.Nome); comando.Parameters.Add("TELEFONE", comanda.Telefone); comando.Prepare(); comando.ExecuteNonQuery(); conexao.Close(); return comanda.NumeroVenda; }
private void button_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrEmpty(this.txtComanda.Text)) { Utilidades.Mensagens.ExibirMensagemAlerta(this, "É necessário informar o número da comanda!", txtComanda); return; } if (Persistencia.PersistenciaComanda.ComandaEmUso(Convert.ToDecimal(this.txtComanda.Text))) { Utilidades.Mensagens.ExibirMensagemAlerta(this, "Este número de comanda está em uso!"); this.txtComanda.Text = string.Empty; return; } if (!this.mskTelefone.IsMaskCompleted) { Utilidades.Mensagens.ExibirMensagemAlerta(this, "O telefone do cliente deve ser preenchido!"); this.mskTelefone.Focus(); return; } if (string.IsNullOrEmpty(this.txtNome.Text)) { Utilidades.Mensagens.ExibirMensagemAlerta(this, "É necessário informar o nome do cliente!", txtNome); return; } ComandaResumida Cmd = new ComandaResumida(); Cmd.Nome = this.txtNome.Text; Cmd.Telefone = this.mskTelefone.Text; Cmd.Numero = Convert.ToDecimal(this.txtComanda.Text); Cmd.Status = StatusComanda.EmUso; int NumeroVenda = Persistencia.PersistenciaComanda.AbrirComanda(Cmd); if (this.AtendimentoSelecionado != null && this.AtendimentoSelecionado != default(Atendimento)) { this.AtendimentoSelecionado.NumeroVenda = Cmd.NumeroVenda; this.AtendimentoSelecionado.NumeroComanda = Cmd.Numero; Persistencia.PersistenciaComanda.AtribuirComandaAoAtendimento(this.AtendimentoSelecionado); } if (this.ClienteExistente != null) { if (string.IsNullOrEmpty(this.ClienteExistente.Identificacao) && !string.IsNullOrEmpty(this.txtDocumentoID.Text)) { this.ClienteExistente.Identificacao = this.txtDocumentoID.Text; } if (string.IsNullOrEmpty(this.ClienteExistente.Email) && !string.IsNullOrEmpty(this.txtEmail.Text)) { this.ClienteExistente.Email = this.txtEmail.Text; } Persistencia.PersistenciaCliente.AtualizarCliente(this.ClienteExistente); } else { Cliente cli = new Cliente(); cli.Nome = this.txtNome.Text; cli.Telefone = this.mskTelefone.Text; cli.Email = this.txtEmail.Text; cli.Identificacao = this.txtDocumentoID.Text; Persistencia.PersistenciaCliente.GravarCliente(cli); } Mensagens.ExibirMensagemAlerta(this, "Comanda aberta com sucesso!"); this.ComandaFoiAberta = true; this.Close(); }
public static ComandaResumida ObterComandaAbertaSemAtendimento(decimal NumeroComanda) { String comandoSql = @"SELECT CV.NUMEROCOMANDA, CV.NUMEROVENDA, CV.SITUACAO, CV.NOME, CV.TELEFONE FROM COMANDAVENDA CV WHERE CV.NUMEROCOMANDA = :NUMEROCOMANDA AND CV.SITUACAO = 1 AND NOT EXISTS (SELECT * FROM ATENDIMENTO ATD WHERE ATD.NUMEROCOMANDA = CV.NUMEROCOMANDA AND ATD.NUMEROVENDA = CV.NUMEROVENDA)"; ComandaResumida comanda = null; OracleConnection conexao = PersistenciaOracle.ObterConexao(); conexao.Open(); OracleCommand comando = new OracleCommand(comandoSql); comando.Connection = conexao; comando.Parameters.Add("NUMEROCOMANDA", NumeroComanda); comando.Prepare(); OracleDataReader leitor = comando.ExecuteReader(); if(leitor.Read()) { comanda = new ComandaResumida(); comanda.Numero = UtilidadePersistencia.ObterValorTratado<decimal>(leitor["NUMEROCOMANDA"]); comanda.NumeroVenda = UtilidadePersistencia.ObterValorTratado<int>(leitor["NUMEROVENDA"]); comanda.Status = (StatusComanda)UtilidadePersistencia.ObterValorTratado<int>(leitor["SITUACAO"]); comanda.Nome = UtilidadePersistencia.ObterValorTratado<string>(leitor["NOME"]); comanda.Telefone = UtilidadePersistencia.ObterValorTratado<string>(leitor["TELEFONE"]); } conexao.Close(); return comanda; }