public void InsereRegra(Regra regra) { MySqlConnection connection = Conecta(); MySqlCommand command = connection.CreateCommand(); try { command.CommandText = "insert into tb_regra(id_regra,atribuicao,condicao,parametro,desconto) values(@id_regra,@atribuicao" + ",@condicao,@parametro,@desconto)"; command.Parameters.AddWithValue("@id_regra", id); command.Parameters.AddWithValue("@atribuicao", regra.Atribuicao); command.Parameters.AddWithValue("@condicao", regra.Condicao); command.Parameters.AddWithValue("@parametro", regra.Parametro); command.Parameters.AddWithValue("@desconto", conversor.toDoubleDB(regra.Desconto.ToString())); command.ExecuteNonQuery(); } catch (Exception ex) { MessageBox.Show("Regra valor de produto não criada " + ex.Message); } finally { if (connection.State == ConnectionState.Open) { connection.Close(); } } }
private Venda AplicaRegraQuantidade(Regra regra) { venda_aplicada = new Venda(); string condicao = regra.Condicao; if (condicao.Equals("MAIOR OU IGUAL")) { if (venda.Quantidade_itens >= regra.Parametro) { venda_aplicada.Valor_final = venda.Valor_total - (venda.Valor_total * (regra.Desconto / 100)); venda_aplicada.Desconto = regra.Desconto; venda_aplicada.Regra_aplicada = regra.Id; return(venda_aplicada); } } else if (condicao.Equals("MENOR OU IGUAL")) { if (venda.Valor_final <= regra.Parametro) { venda_aplicada.Valor_final = venda.Valor_total - (venda.Valor_total * (regra.Desconto / 100)); venda_aplicada.Desconto = regra.Desconto; venda_aplicada.Regra_aplicada = regra.Id; return(venda_aplicada); } } System.Console.Write("APLICANDO REGRA DE QUANTIDADE"); return(null); }
private Venda AplicaValorTotal(Regra regra) { string condicao = regra.Condicao; if (condicao.Equals("MAIOR OU IGUAL")) { if (venda.Valor_total >= regra.Parametro) { venda_aplicada.Valor_final = venda.Valor_total - (venda.Valor_total * (regra.Desconto / 100)); venda_aplicada.Desconto = regra.Desconto; venda_aplicada.Regra_aplicada = regra.Id; return(venda_aplicada); } } else if (condicao.Equals("MENOR OU IGUAL")) { if (venda.Valor_total <= regra.Parametro) { venda_aplicada.Valor_final = venda.Valor_total - (venda.Valor_total * (regra.Desconto / 100)); venda_aplicada.Desconto = regra.Desconto; venda_aplicada.Regra_aplicada = regra.Id; return(venda_aplicada); } } return(null); }
private Venda AplicaRegraValorDoProduto(Regra regra) { for (int i = 0; i < itens.Count; i++) { } System.Console.Write("APLICANDO REGRA DE QUANTIDADE"); return(null); }
public List <Regra> buscaRegrasExistentes(int id) { MySqlConnection connection = Conecta(); MySqlCommand command = connection.CreateCommand(); List <Regra> regras = new List <Regra>(); try { command.CommandText = "select * from tb_regra where id_regra=" + id; var result = command.ExecuteReader(); while (result.Read()) { Regra regra = new Regra(); regra.Id = result.GetInt32("id"); regra.Id_regra = result.GetInt32("id_regra"); regra.Atribuicao = result.GetString("atribuicao"); regra.Condicao = result.GetString("condicao"); regra.Parametro = result.GetDouble("parametro"); regra.Desconto = result.GetDouble("desconto"); regras.Add(regra); } return(regras); }catch (Exception ex) { MessageBox.Show(ex.Message); } finally { if (connection.State == ConnectionState.Open) { connection.Close(); } } return(regras); }
public void regra_desconto() { if (desconto_produto.Checked) { Regra regra = new Regra(); regra.Condicao = combo_valor.Text; regra.Desconto = conversor.toDouble(txt_desconto_produto.Text); regra.Parametro = conversor.toDouble(txt_valor.Text); regra.Atribuicao = "AplicaRegraValorProduto"; regrasDAO.InsereRegra(regra); } if (desconto_venda.Checked) { Regra regra = new Regra(); regra.Condicao = combo_total_venda.Text; regra.Parametro = conversor.toDouble(txt_total_venda.Text); regra.Desconto = conversor.toDouble(txt_desconto_total.Text); regra.Atribuicao = "AplicaRegraValorTotal"; regrasDAO.InsereRegra(regra); } if (desconto_quantidade.Checked) { Regra regra = new Regra(); regra.Condicao = combo_quantidade_produto.Text; regra.Parametro = conversor.ToInt32(txt_quantidade_produto.Text); regra.Desconto = conversor.toDouble(txt_desconto_quantidade.Text); regra.Atribuicao = "AplicaRegraQuantidade"; regrasDAO.InsereRegra(regra); } }
//public Venda AplicaRegras() //{ //} public Venda AplicaRegras() { if (venda.Regra_aplicada != 0) { return(null); } string forma_pagamento = pagamento.Forma_pagamento; RegrasNegocio regra_negocio = regrasDAO.buscaRegraAtiva(forma_pagamento); string tipo_venda = regra_negocio.Tipo_venda; if (regra_negocio != null && (tipo_venda.Equals(pagamento.Forma_pagamento) || tipo_venda.Equals("TODAS"))) { if ((forma_pagamento.Equals("CREDITO") || tipo_venda.Equals("TODAS")) && !(pagamento.Quantidade_parcelas >= regra_negocio.Parcela_min && pagamento.Quantidade_parcelas <= regra_negocio.Parcela_max)) { return(null); } List <Regra> regrasExistentes = regrasDAO.buscaRegrasExistentes(regra_negocio.Id); venda_aplicada = venda; for (int i = 0; i < regrasExistentes.Count; i++) { Regra regra = regrasExistentes[i]; if (regrasExistentes[i].Atribuicao.Equals("VALOR TOTAL")) { venda_aplicada = AplicaValorTotal(regra); if (venda_aplicada == null) { regrasExistentes.RemoveAt(i); } else { return(venda_aplicada); } } } for (int i = 0; i < regrasExistentes.Count; i++) { Regra regra = regrasExistentes[i]; if (regrasExistentes[i].Atribuicao.Equals("QUANTIDADE")) { venda_aplicada = AplicaRegraQuantidade(regra); if (venda_aplicada == null) { regrasExistentes.RemoveAt(i); } else { return(venda_aplicada); } } } /** * if (regrasExistentes[i].Atribuicao.Equals("VALOR DO PRODUTO")) * { * MessageBox.Show("VALOR PRODUTO"); * venda_aplicada = AplicaRegraValorDoProduto(regra); * if (venda_aplicada != null || !venda_aplicada.Equals(null) || venda_aplicada.Equals("null")) return venda_aplicada; * } */ } return(null); }
public AplicaRegraQuantidade(Regra regra) { MessageBox.Show("APLICANDO REGRA QUANTIDADE"); }