private void PreencheCampos(Desintegracao desintegracao) { ignoraCheckEvent = true; if (desintegracao.Tipo == "P") { rbPercentual.Checked = true; dgvPartes.Rows.Clear(); foreach (var p in desintegracao.Partes) { dgvPartes.Rows.Add(p.Item.ItemID, p.Item.Descricao, p.Porcentagem); } } else { rbQuantitativa.Checked = true; dgvPartes.Rows.Clear(); foreach (var p in desintegracao.Partes) { dgvPartes.Rows.Add(p.Item.ItemID, p.Item.Descricao, p.Quantidade); } } dgvPartes.Refresh(); ignoraCheckEvent = false; }
public int SalvaOuAtualiza(Desintegracao desintegracao) { int retorno = 0; using (MySQLConn sql = new MySQLConn(Configuracao.Conecta)) { sql.beginTransaction(); sql.Query = @"INSERT INTO desintegracao (iddesintegracao, iditemdesintegrado, tipo) VALUES (@iddesintegracao, @iditemdesintegrado, @tipo) ON DUPLICATE KEY UPDATE tipo = @tipo"; sql.addParam("@iddesintegracao", desintegracao.DesintegracaoID); sql.addParam("@iditemdesintegrado", desintegracao.Itemdesintegrado.ItemID); sql.addParam("@tipo", desintegracao.Tipo); retorno = sql.insertQuery(); if (retorno > 0) { sql.Query = @"DELETE FROM resultado_desintegracao WHERE iddesintegracao = @iddesintegracao"; sql.deleteQuery(); switch (desintegracao.Tipo) { case "P": sql.Query = @"INSERT INTO resultado_desintegracao (iddesintegracao, iditemparte, porcentagem) VALUES (@iddesintegracao, @iditemparte, @porcentagem)"; break; case "Q": sql.Query = @"INSERT INTO resultado_desintegracao (iddesintegracao, iditemparte, quantidade) VALUES (@iddesintegracao, @iditemparte, @quantidade)"; break; } foreach (var p in desintegracao.Partes) { sql.clearParams(); sql.addParam("@iddesintegracao", p.Desintegracao.DesintegracaoID); sql.addParam("@iditemparte", p.Item.ItemID); if (desintegracao.Tipo == "P") { sql.addParam("@porcentagem", p.Porcentagem); } else { sql.addParam("@quantidade", p.Quantidade); } sql.insertQuery(); } } sql.Commit(); } return(retorno); }
//public Item Anterior(int Codigo) //{ // var item = new Item(); // using (MySQLConn sql = new MySQLConn(Configuracao.Conecta)) // { // sql.Query = @"SELECT *, g.nome AS grupoitemnome FROM item i // INNER JOIN subgrupoitem s ON i.idsubgrupoitem = s.idsubgrupoitem // INNER JOIN grupoitem g ON s.idgrupoitem = g.idgrupoitem // INNER JOIN unimedida u ON u.idunimedida = i.idunimedida // WHERE iditem = (SELECT max(iditem) FROM item WHERE iditem < @iditem)"; // sql.addParam("@iditem", Codigo); // var data = sql.selectQueryForSingleRecord(); // if (data == null) // { // return null; // } // item = LeDadosReader(data); // } // return item; //} //public Item Proximo(int Codigo) //{ //var item = new Item(); //using (MySQLConn sql = new MySQLConn(Configuracao.Conecta)) //{ // sql.Query = @"SELECT *, g.nome AS grupoitemnome FROM item i // INNER JOIN subgrupoitem s ON i.idsubgrupoitem = s.idsubgrupoitem // INNER JOIN grupoitem g ON s.idgrupoitem = g.idgrupoitem // INNER JOIN unimedida u ON u.idunimedida = i.idunimedida // WHERE iditem = (SELECT min(iditem) FROM item WHERE iditem > @iditem)"; // sql.addParam("@iditem", Codigo); // var data = sql.selectQueryForSingleRecord(); // if (data == null) // { // return null; // } // item = LeDadosReader(data); //} //return item; //} private Desintegracao LeDadosReader(List <Dictionary <string, object> > data) { if (data.Count == 0) { return(null); } List <DesintegracaoResultado> listapartes = new List <DesintegracaoResultado>(); var desintegracao = new Desintegracao(); var item = new Item(); item.ItemID = Convert.ToInt32(data[0]["iditemdesintegrado"]); item.ValorEntrada = Convert.ToInt32(data[0]["valorentrada"]); item.ValorUnitario = Convert.ToInt32(data[0]["valorsaida"]); desintegracao.DesintegracaoID = Convert.ToInt32(data[0]["iddesintegracao"]); desintegracao.Itemdesintegrado = item; desintegracao.Tipo = (string)(data[0]["tipo"]); foreach (var p in data) { var parte = new DesintegracaoResultado(); item = new Item(); item.ItemID = Convert.ToInt32(p["iditemparte"]); item.Descricao = (string)p["descitem"]; item.ValorEntrada = (decimal)p["valorentrada"]; item.ValorUnitario = (decimal)p["valorsaida"]; parte.Desintegracao = desintegracao; parte.Item = item; if (desintegracao.Tipo == "P") { parte.Porcentagem = (decimal)p["porcentagem"]; } else { parte.Quantidade = (decimal)p["quantidade"]; } listapartes.Add(parte); } desintegracao.Partes = listapartes; return(desintegracao); }
private void CarregaDados() { if (editando) { if (MessageBox.Show("Tem certeza que deseja perder os dados alterados?", "Aviso de alteração", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No) { return; } } if (buscaItemInteiro.item == null) { return; } var newDesintegracao = desintegracaoDAO.BuscaByID(buscaItemInteiro.item.ItemID); if (newDesintegracao != null) { desintegracaoconfigurada = newDesintegracao; if (newDesintegracao.Tipo == "P") { listaresultadospercentual = desintegracaoconfigurada.Partes; } else { listaresultadosquantitativo = desintegracaoconfigurada.Partes; } PreencheCampos(desintegracaoconfigurada); Editando(false); } else { dgvPartes.Rows.Clear(); Editando(true); } }
private void BtDesintegrar_Click(object sender, EventArgs e) { desintegracao = desintegracaoDAO.BuscaByID(buscaItem1.item.ItemID); foreach (var d in desintegracao.Partes) { if (desintegracao.Tipo == "Q") { quantidadeparte = d.Quantidade; quantitativa = true; } else { percentualparte = d.Porcentagem; quantitativa = false; } InserirItem(d.Item, true); } RemoverDesintegrado(desintegracao.Itemdesintegrado); LimpaCamposItem(true); }
public Desintegracao BuscaByID(int Codigo) { var desintegracao = new Desintegracao(); using (MySQLConn sql = new MySQLConn(Configuracao.Conecta)) { sql.Query = @"SELECT * FROM desintegracao d INNER JOIN resultado_desintegracao r ON d.iddesintegracao = r.iddesintegracao INNER JOIN item i ON r.iditemparte = i.iditem WHERE d.iddesintegracao = @iddesintegracao"; sql.addParam("@iddesintegracao", Codigo); var data = sql.selectQuery(); if (data == null) { return(null); } desintegracao = LeDadosReader(data); } return(desintegracao); }