public static void Incluir(MParcelasCompra modelo) { try { using (var conn = ConexaoBD.AbrirConexao()) //Passando a string de conexão { conn.Open(); //Abrindo a conexão using (var comm = conn.CreateCommand()) //Criando o comando SQL { comm.CommandText = "INSERT INTO parcelascompra (parcelasCompra_valor, parcelasCompra_vecto, compra_cod) " + "VALUES (@valor, @venc, @cod)"; //Passando o valores por parametro comm.Parameters.Add(new SqlParameter("@valor", modelo.ParcelaCompraValor)); comm.Parameters.Add(new SqlParameter("@venc", modelo.ParcelaCompraVencimento)); comm.Parameters.Add(new SqlParameter("@cod", modelo.CompraCodigo)); //Executando o comando comm.ExecuteNonQuery(); } } } catch (Exception erro) { //Apagando a compra caso ocorra algum erro DALCompra.Excluir(int.Parse(DALCompra.PegarId())); throw new Exception(erro.Message); } }
//Metodo para calcular os valor total, valor de cada parcela public void Calcular() { //double valorTotal = double.Parse(txtValor.Text.ToString()); double valorTotal = 00.00; //Calculando o valor total foreach (var item in Compra.Itens) { valorTotal += item.ItemCompraValor * item.ItemCompraQuant; } txtValor.Text = valorTotal.ToString("F2"); //Passando o valor total //Analisando se já foi selecionado a opção de parcelas if (cbxQuantParcela.Text != "") { MParcelasCompra parc = new MParcelasCompra(); //Instanciando //Passando o valor da parcela txtValorParcela.Text = parc.ValorParcela(double.Parse(txtValor.Text), int.Parse(cbxQuantParcela.Text)).ToString("F2"); } }
public static void Excluir(MParcelasCompra modelo) { try { using (var conn = ConexaoBD.AbrirConexao()) //Passando a string de conexão { conn.Open(); //Abrindo a conexão using (var comm = conn.CreateCommand()) //Criando o comando SQL { comm.CommandText = "delete from parcelascompra where compra_cod = @codCompra"; //Passando o valores por parametro comm.Parameters.Add(new SqlParameter("@codCompra", modelo.CompraCodigo)); //Executando o comando comm.ExecuteNonQuery(); } } } catch (Exception erro) { throw new Exception(erro.Message); } }
/* Aqui foi criada uma pequena restrição para o usuário*/ public static void Incluir(MParcelasCompra modelo) { DALParcelasCompra.Incluir(modelo); }
//Evenoto click salvar private void btnSalvar_Click(object sender, EventArgs e) { if (btnSalvar.Text == "Salvar") { if (txtNotaFiscal.Text == "" || cbxQuantParcela.Text == "" || cbxStatus.Text == "" || cbxFornecedor.Text == "" || cbxTipoPagamento.Text == "") //Analisando se foi preenchido todos os dados { MessageBox.Show("Preencha todos os dados!"); } else if (DateTime.Today > dtpDataCompra.Value.Date) //Analisando se a data informada é maior ou igual a hora atual { MessageBox.Show("A Data da compra não pode ser menor que a data atual!"); } else if (dgvProduto.RowCount == 0) //Analisando se foi informado algum produto { MessageBox.Show("Adicione os produtos!", "OK"); } else { try { //Passando os dados da compra Compra.CompraData = dtpDataCompra.Value.Date; Compra.CompraNotaFiscal = txtNotaFiscal.Text; Compra.CompraValor = double.Parse(txtValor.Text); Compra.CompraParcelas = int.Parse(cbxQuantParcela.Text); Compra.CompraStatus = cbxStatus.Text; Compra.FornecedorCod = (int)cbxFornecedor.SelectedValue; Compra.TipoPagCod = (int)cbxTipoPagamento.SelectedValue; //Salnvando a compra BLLCompra.Incluir(Compra); //Pegando o id da compra salva Compra.CompraCod = int.Parse(DALCompra.PegarId()); //Criando um variavel para salvar a data da nova prestação DateTime ProximaPrestação = dtpDataCompra.Value.Date; //Criando e salvando as parcelas for (int i = 0; i < Compra.CompraParcelas; i++) { Compra.Parcelas.Add(new MParcelasCompra(double.Parse(txtValorParcela.Text), ProximaPrestação.AddMonths(i + 1), Compra.CompraCod)); //Instanciando a parcela //Salvando as Parcelas BLLParcelasCompras.Incluir(Compra.Parcelas[i]); } //Salvando os Produtos e consequentemente o item foreach (var item in Compra.Itens) { //Verificar se o produto não já existe, caso sim só será associado ao item compra if (item.Produto.CodigoProduto == 0) { //Analisando se a compra foi finalizada, pois caso seja o valor do produto será incrementado if (cbxStatus.Text != "FINALIZADA") { item.Produto.QuantProduto = 0; //Colando ele fora de Estoque, pois a compra não foi finalizada item.Produto.StatusProduto = "FORA DE ESTOQUE"; } //Chamando o metodo Incluir um produto BLLProduto.Incluir(item.Produto); } else //Significa que o produto já existe { var tabela = DALProduto.PegarDados(item.Produto.CodigoProduto); //Pegando os dados do produto já existente //Passando os dados para as variáveis int cod = int.Parse(tabela.Rows[0]["produto_cod"].ToString()); string nome = tabela.Rows[0]["produto_nome"].ToString(); string desc = item.Produto.DescricaoProduto; double valor = item.Produto.ValorVendaProduto; double quant = double.Parse(tabela.Rows[0]["produto_qtde"].ToString()); string status = item.Produto.StatusProduto; int codUni = item.Produto.CodigoUnidadeMedida; int codCat = item.Produto.CodigoCategoria; int codSub = 0; //Analisado se tem subcategoria if (tabela.Rows[0]["subCategoria_cod"].ToString() != "") { codSub = int.Parse(tabela.Rows[0]["subCategoria_cod"].ToString()); } //Analisando se a compra foi finalizada, pois caso seja o valor do produto será incrementado if (cbxStatus.Text == "FINALIZADA") { quant = quant + item.ItemCompraQuant; } else if (quant == 1) //Analizando se ainda tem produto em estoque, caso não ele terá seu status mudado { //Colando ele fora de Estoque, pois a compra não foi finalizada item.Produto.StatusProduto = "FORA DE ESTOQUE"; } //Instanciando o obj produto MProduto prodExiste = new MProduto(nome, desc, valor, quant, status, codUni, codCat, codSub); prodExiste.CodigoProduto = cod; //Pegando o id //Passando o id do produto item.Produto.CodigoProduto = cod; //Atualizando as informações BLLProduto.Alterar(prodExiste); } //Passando o id da compra item.CompraCodigo = Compra.CompraCod; //Salvando o produto na lista item BLLItensCompra.Incluir(item); } MessageBox.Show("Compra Salva Com Sucesso!"); dgvCompra.DataSource = DALCompra.CarregarGrid(); //Limpando os campos txtNotaFiscal.Clear(); txtValor.Clear(); txtValorParcela.Clear(); txtValor.Clear(); cbxQuantParcela.SelectedIndex = -1; cbxStatus.SelectedIndex = -1; cbxFornecedor.SelectedIndex = -1; cbxTipoPagamento.SelectedIndex = -1; dtpDataCompra.Value = DateTime.Today; Compra.Itens.Clear(); //Limpando os produtos CarregarGrid(); } catch (SqlException erro) { MessageBox.Show(erro.Message, "OK"); //Apagando tudo caso haja um erro DALCompra.Excluir(int.Parse(DALCompra.PegarId())); } catch (Exception erro) { MessageBox.Show(erro.Message, "OK"); //Apagando tudo caso haja um erro DALCompra.Excluir(int.Parse(DALCompra.PegarId())); } } } else { if (txtNotaFiscal.Text == "" || cbxQuantParcela.Text == "" || cbxStatus.Text == "" || cbxFornecedor.Text == "" || cbxTipoPagamento.Text == "") //Analisando se foi preenchido todos os dados { MessageBox.Show("Preencha todos os dados!"); } else if (DateTime.Today > dtpDataCompra.Value.Date) //Analisando se a data informada é maior ou igual a hora atual { MessageBox.Show("A Data da compra não pode ser menor que a data atual!"); } else if (dgvProduto.RowCount == 0) //Analisando se foi informado algum produto { MessageBox.Show("Adicione os produtos!", "OK"); } else { try { //if Compra.Itens. //Passando os dados da compra Compra.CompraCod = int.Parse(txtCodigo.Text); Compra.CompraData = dtpDataCompra.Value.Date; Compra.CompraNotaFiscal = txtNotaFiscal.Text; Compra.CompraValor = double.Parse(txtValor.Text); Compra.CompraParcelas = int.Parse(cbxQuantParcela.Text); Compra.CompraStatus = cbxStatus.Text; Compra.FornecedorCod = (int)cbxFornecedor.SelectedValue; Compra.TipoPagCod = (int)cbxTipoPagamento.SelectedValue; //Salnvando a compra BLLCompra.Alterar(Compra); MParcelasCompra parcelas = new MParcelasCompra(); parcelas.CompraCodigo = Compra.CompraCod; //Excluindo parcelas salvas BLLParcelasCompras.Excluir(parcelas); //Criando um variavel para salvar a data da nova prestação DateTime ProximaPrestação = dtpDataCompra.Value.Date; //Criando e salvando as parcelas for (int i = 0; i < int.Parse(cbxQuantParcela.Text); i++) { Compra.Parcelas.Add(new MParcelasCompra(double.Parse(txtValorParcela.Text), ProximaPrestação.AddMonths(i), Compra.CompraCod)); //Instanciando a parcela //Salvando as Parcelas BLLParcelasCompras.Incluir(Compra.Parcelas[i]); } //excluindo os itens da lista de excluidos foreach (var lista in ListaItensExcluidos) { //int teste = int.Parse(dgvProduto.CurrentRow.Cells[6].Value.ToString()); //BLLProduto.Alterar(int.Parse(dgvProduto.CurrentRow.Cells[6].Value.ToString())); BLLItensCompra.Excluir(lista); } foreach (var lista in ListaProdutosExcluidos) { BLLProduto.Alterar(lista); } //Salvando os Produtos e consequentemente o item foreach (var item in Compra.Itens) { //Analisando se a compra foi finalizada, pois caso seja o valor do produto será incrementado if (cbxStatus.Text != "FINALIZADA") { item.Produto.QuantProduto = 0; } else { item.Produto.QuantProduto = item.ItemCompraQuant; } if (item.Produto.QuantProduto == 0) { item.Produto.StatusProduto = "FORA DE ESTOQUE"; } //Chamando o metodo Alterar um produto BLLProduto.Alterar(item.Produto); //Passando o id da compra item.CompraCodigo = int.Parse(txtCodigo.Text); //Salvando o produto na lista item BLLItensCompra.Alterar(item); //Salva o produto caso durante a alteração tenha sido criado o novo produto if (item.Produto.CodigoProduto == 0) { //Analisando se a compra foi finalizada, pois caso seja o valor do produto será incrementado if (cbxStatus.Text != "FINALIZADA") { item.Produto.QuantProduto = 0; //Colando ele fora de Estoque, pois a compra não foi finalizada item.Produto.StatusProduto = "FORA DE ESTOQUE"; } //Chamando o metodo Incluir um produto BLLProduto.Incluir(item.Produto); //Passando o id da compra item.CompraCodigo = Compra.CompraCod; //Salvando o produto na lista item BLLItensCompra.Incluir(item); } else { bool verificaexistencia = true; foreach (var itensanterior in CompraAnterior.Itens) { if (itensanterior.ItemCompraCodigo == item.ItemCompraCodigo) { verificaexistencia = true; break; } else { verificaexistencia = false; } } if (verificaexistencia == false) { if (cbxStatus.Text != "FINALIZADA") { item.Produto.QuantProduto = 0; //Colando ele fora de Estoque, pois a compra não foi finalizada item.Produto.StatusProduto = "FORA DE ESTOQUE"; } //Chamando o metodo Incluir um produto BLLProduto.Incluir(item.Produto); //Passando o id da compra item.CompraCodigo = Compra.CompraCod; //Salvando o produto na lista item BLLItensCompra.Incluir(item); } } } MessageBox.Show("Compra Salva Com Sucesso!"); dgvCompra.DataSource = DALCompra.CarregarGrid(); //Limpando os campos txtNotaFiscal.Clear(); txtValor.Clear(); txtValorParcela.Clear(); txtValor.Clear(); cbxQuantParcela.SelectedIndex = -1; cbxStatus.SelectedIndex = -1; cbxFornecedor.SelectedIndex = -1; cbxTipoPagamento.SelectedIndex = -1; dtpDataCompra.Value = DateTime.Today; Compra.Itens.Clear(); //Limpando os produtos CarregarGrid(); //alterando botões btnSalvar.Text = "Salvar"; btnExcluir.Enabled = true; btnExcluirProduto.Enabled = true; btnAdicionarProduto.Enabled = true; //limpando lista ListaProdutosExcluidos.Clear(); ListaItensExcluidos.Clear(); Compra.Parcelas.Clear(); } catch (SqlException erro) { MessageBox.Show(erro.Message, "OK"); //Apagando tudo caso haja um erro DALCompra.Excluir(int.Parse(DALCompra.PegarId())); } catch (Exception erro) { MessageBox.Show(erro.Message, "OK"); //Apagando tudo caso haja um erro DALCompra.Excluir(int.Parse(DALCompra.PegarId())); } } } }