Exemple #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            bool botao = false;

            if (((comboBox1.Text.Length > 0) && (textBox5.Text.Length > 0) && (textBox4.Text.Length > 0)) && (textBox1.Text.Length > 0 || textBox2.Text.Length > 0 || textBox3.Text.Length > 0) && int.Parse(textBox5.Text) > 0)
            {
                botao = true;
            }
            else
            {
                MessageBox.Show("PREENCHA TODOS OS CAMPOS");
                DialogResult = DialogResult.Yes;
            }

            bool validData              = true;
            CollectionEstoque  Lista    = new CollectionEstoque();
            List <produtoHVEX> lista    = new List <produtoHVEX>();
            Estoque            atualiza = new Estoque();
            produtoHVEX        Atualiza = new produtoHVEX();
            var filt = Builders <Estoque> .Filter.Where(c => c.codHVEX.Equals(flag));

            var Filt = Builders <produtoHVEX> .Filter.Where(c => c.codHVEX.Equals(flag));

            if (botao)
            {
                if (controle)
                {
                    if (textBox1.Text.Length > 0)
                    {
                        flag = textBox1.Text;
                        filt = Builders <Estoque> .Filter.Where(c => c.codHVEX.Contains(flag));

                        Lista.AddRange(MongoConnection.QueryCollection("Estoques", filt, null));
                    }
                    if (textBox2.Text.Length > 0)
                    {
                        flag = textBox2.Text;
                        filt = Builders <Estoque> .Filter.Where(c => c.produto.Contains(flag));

                        Lista.AddRange(MongoConnection.QueryCollection("Estoques", filt, null));
                    }
                    if (textBox3.Text.Length > 0)
                    {
                        flag = textBox3.Text;
                        filt = Builders <Estoque> .Filter.Where(c => c.descricao.Contains(flag));

                        Lista.AddRange(MongoConnection.QueryCollection("Estoques", filt, null));
                    }
                    if (Lista.Count() > 0)
                    {
                        var subtrai = Lista.First().quantidade - int.Parse(textBox5.Text);
                        if (subtrai < 0)
                        {
                            validData = false;
                            MessageBox.Show("Você está tentando retirar mais do que tem no estoque");
                            DialogResult = DialogResult.Yes;
                        }
                        else
                        {
                            validData           = true;
                            atualiza            = Lista.First();
                            atualiza.quantidade = subtrai;
                        }

                        if (validData)
                        {
                            RegistroSaida r = new RegistroSaida();
                            r.data        = dateTimePicker1.Value;
                            r.NF          = textBox4.Text;
                            r.responsavel = comboBox1.Text;
                            r.codigo      = atualiza.codHVEX;
                            r.quantidade  = int.Parse(textBox5.Text);
                            r.responsavel = comboBox1.Text;

                            if (MongoConnection.InsertOne("registerout", r) && MongoConnection.ReplaceOne("Estoques", filt, atualiza))
                            {
                                MessageBox.Show("PRODUTO RETIRADO COM SUCESSO");
                                DialogResult = DialogResult.Yes;
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("Não existe tal produto em estoque");
                        DialogResult = DialogResult.Yes;
                    }
                }
                else
                {
                    if (textBox1.Text.Length > 0)
                    {
                        flag = textBox1.Text;
                        Filt = Builders <produtoHVEX> .Filter.Where(c => c.codHVEX.Equals(flag));

                        lista.AddRange(MongoConnection.QueryCollection("produtohvex", Filt, null));
                    }
                    if (textBox2.Text.Length > 0)
                    {
                        flag = textBox2.Text;
                        Filt = Builders <produtoHVEX> .Filter.Where(c => c.nome.Contains(flag));

                        lista.AddRange(MongoConnection.QueryCollection("produtohvex", Filt, null));
                    }
                    if (textBox3.Text.Length > 0)
                    {
                        flag = textBox3.Text;
                        Filt = Builders <produtoHVEX> .Filter.Where(c => c.descricao.Contains(flag));

                        lista.AddRange(MongoConnection.QueryCollection("produtohvex", Filt, null));
                    }
                    if (lista.Count() > 0)
                    {
                        var subtrai = lista.First().quantidade - int.Parse(textBox5.Text);
                        if (subtrai < 0)
                        {
                            validData = false;
                            MessageBox.Show("Este produto não tem o suficiente no estoque");
                            DialogResult = DialogResult.Yes;
                        }
                        else
                        {
                            validData           = true;
                            Atualiza            = lista.First();
                            Atualiza.quantidade = subtrai;
                        }
                        if (validData)
                        {
                            RegistroSaida r = new RegistroSaida();
                            r.data        = dateTimePicker1.Value;
                            r.NF          = textBox4.Text;
                            r.responsavel = comboBox1.Text;
                            r.codigo      = Atualiza.codHVEX;
                            r.quantidade  = int.Parse(textBox5.Text);

                            if (MongoConnection.InsertOne("registerout", r) && MongoConnection.ReplaceOne("produtohvex", Filt, Atualiza))
                            {
                                MessageBox.Show("PRODUTO RETIRADO COM SUCESSO");
                                DialogResult = DialogResult.Yes;
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("Não existe tal produto em estoque");
                        DialogResult = DialogResult.Yes;
                    }
                }
            }
        }
Exemple #2
0
 public RegistroSaida Adicionar(RegistroSaida registro)
 {
     registro.HoraSaida = DateTime.Now;
     return(_registroSaidaRepository.Adicionar(registro));
 }