示例#1
0
        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);
        }
示例#2
0
        //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);
        }