private void InserirLinha() { if (buscaItemParte.item == null) { MessageBox.Show("Escolha a Parte a ser inserida", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (buscaItemInteiro.item == null) { MessageBox.Show("Escolha o Item a ser Desintegrado", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { resultadodesi = new DesintegracaoResultado(); resultadodesi.Desintegracao = desintegracaoconfigurada; resultadodesi.Item = buscaItemParte.item; DataGridViewRow dr = dgvPartes.Rows.Cast <DataGridViewRow>().Where(r => int.Parse(r.Cells[0].Value.ToString()) == resultadodesi.Item.ItemID).FirstOrDefault(); if (dr == null) { if (rbPercentual.Checked) { resultadodesi.Porcentagem = dbValorTipo.Valor; listaresultadospercentual.Add(resultadodesi); dgvPartes.Rows.Add(resultadodesi.Item.ItemID, resultadodesi.Item.Descricao, resultadodesi.Porcentagem); } else { resultadodesi.Quantidade = dbValorTipo.Valor; listaresultadosquantitativo.Add(resultadodesi); dgvPartes.Rows.Add(resultadodesi.Item.ItemID, resultadodesi.Item.Descricao, resultadodesi.Quantidade); } } else { if (rbPercentual.Checked) { resultadodesi.Porcentagem = dbValorTipo.Valor; listaresultadospercentual.Where(i => i.Item.ItemID == resultadodesi.Item.ItemID).First().Porcentagem = resultadodesi.Porcentagem; dr.Cells[dgvtbcPorcentagem.Index].Value = resultadodesi.Porcentagem; dgvPartes.Update(); dgvPartes.Refresh(); } else { resultadodesi.Quantidade = dbValorTipo.Valor; listaresultadosquantitativo.Where(i => i.Item.ItemID == resultadodesi.Item.ItemID).First().Quantidade = resultadodesi.Quantidade; dr.Cells[dgvtbcPorcentagem.Index].Value = resultadodesi.Quantidade; dgvPartes.Update(); dgvPartes.Refresh(); } } dgvPartes.Refresh(); } Editando(true); }
//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); }