public void addProduct(produto pro, int qtd)
        {
            if (qtd > pro.PRquantidade)
            {
                MessageBox.Show("Quantidade maior que a existente", "AVISO!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                pro.PRquantidade = qtd;

                if (this.listaProdutos == null)
                {
                    this.listaProdutos.Add(pro);
                    this.CarregarGridCalc();
                }
                else if (this.listaProdutos.Exists(pr => pr.PRid.Equals(pro.PRid)))
                {
                    MessageBox.Show("Produto já existente na lista", "AVISO!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                else
                {
                    this.listaProdutos.Add(pro);
                    this.CarregarGridCalc();
                }
            }
        }
        public frmQuantidade(produto pro, frmCalculo wCalculo, int currId)
        {
            this.produtoP = pro;
            this.wCalculo = wCalculo;
            this.currId   = currId;

            InitializeComponent();
            lbNomeProduto.Text = this.produtoP.PRnome.ToString();
        }
Esempio n. 3
0
        public void calcular(List <produto> produtos)
        {
            using (Entities ef = new Entities())
            {
                List <pacote>       pacotes    = ef.pacotes.ToList();
                List <BinContainer> containers = new List <BinContainer>();
                List <Item>         items      = new List <Item>();

                List <int> algorithms = new List <int>();
                algorithms.Add((int)AlgorithmType.EB_AFIT);

                foreach (pacote item in pacotes)
                {
                    containers.Add(new BinContainer(item.PAid, item.PAprofundidade, item.PAlargura, item.PAaltura));
                }

                foreach (produto produto in produtos)
                {
                    items.Add(new Item(produto.PRid, produto.PRprofundidade, produto.PRlargura, produto.PRaltura, Convert.ToInt32(produto.PRquantidade)));
                }

                List <ContainerPackingResult> result = PackingService.Pack(containers, items, algorithms);

                List <ItemTabelaResultado> resultado = new List <ItemTabelaResultado>();

                foreach (ContainerPackingResult container in result)
                {
                    pacote pct = ef.pacotes.Find(container.ContainerID);
                    ItemTabelaResultado tblItem = new ItemTabelaResultado(pct.PAtipo);

                    foreach (AlgorithmPackingResult algResult in container.AlgorithmPackingResults)
                    {
                        foreach (Item altItem in algResult.PackedItems)
                        {
                            if (altItem.IsPacked)
                            {
                                produto p = ef.produtos.Find(altItem.ID);
                                tblItem.produtos = tblItem.produtos + p.PRnome + Environment.NewLine;
                            }
                        }
                    }

                    resultado.Add(tblItem);
                }

                dgvResultado.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
                dgvResultado.Columns[1].DefaultCellStyle.WrapMode = DataGridViewTriState.True;
                dgvResultado.DataSource = resultado;
            }
        }
        private void BtnExcluir_Click(object sender, EventArgs e)
        {
            try
            {
                if (dgvCadastroProduto.Rows.Count > 0)
                {
                    if (MessageBox.Show(
                            "Deseja excluir o produto ?\nCÓDIGO DO PRODUTO: " + dgvCadastroProduto.CurrentRow.Cells[0].Value.ToString(),
                            "AVISO!",
                            MessageBoxButtons.YesNo,
                            MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        if (!dgvCadastroProduto.CurrentRow.Cells[0].Value.ToString().Equals(""))
                        {
                            this.idProduto = Convert.ToInt32(dgvCadastroProduto.CurrentRow.Cells[0].Value.ToString());
                            using (Entities ef = new Entities())
                            {
                                produto pro = ef.produtos.Find(idProduto);
                                log     l   = new log();
                                l.LOoperacao = "Exclusão do produto: " + pro.PRnome;
                                l.LOdata     = DateTime.Now;
                                l.USid       = usuarioLogado.USid;


                                ef.logs.Add(l);
                                ef.produtos.Remove(pro);
                                ef.SaveChanges();
                            }
                            MessageBox.Show("Produto excluído com sucesso", "SUCESSO!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                        this.CarregarGrid();
                        this.LimparDados();
                    }
                }
                else
                {
                    MessageBox.Show("Não há produtos cadastrados", "AVISO!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Não foi possível excluir", "ERRO!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
 private void btnAdicionarCalculo_Click(object sender, EventArgs e)
 {
     if (dgvAdicionar.RowCount > 0)
     {
         if (!dgvAdicionar.CurrentRow.Cells[0].Value.ToString().Equals(""))
         {
             int id = Convert.ToInt32(dgvAdicionar.CurrentRow.Cells[0].Value.ToString());
             using (Entities ef = new Entities())
             {
                 produto pro = ef.produtos.Find(id);
                 (new frmQuantidade(pro, this, id)).ShowDialog();
             }
         }
     }
     else
     {
         MessageBox.Show("Não existe produtos cadastrados", "AVISO!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
 }
        private void CarregarCamposAlterar()
        {
            try
            {
                using (Entities ef = new Entities())
                {
                    produto pr = ef.produtos.Find(idProduto);

                    txtAltura.Text       = pr.PRaltura.ToString();
                    txtLargura.Text      = pr.PRlargura.ToString();
                    txtNome.Text         = pr.PRnome;
                    txtPeso.Text         = pr.PRpeso.ToString();
                    txtProfundidade.Text = pr.PRprofundidade.ToString();
                    txtQuantidade.Text   = pr.PRquantidade.ToString();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Impossível carregar dados" + " " + ex, "ERRO!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
 private void btnCalcular_Click(object sender, EventArgs e)
 {
     if (this.listaProdutos.Count == 0)
     {
         MessageBox.Show("NÃO HÁ PRODUTOS SELECIONADOS !", "AVISO!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
     else
     {
         if (MessageBox.Show("É UMA SIMULAÇÃO ? \nSE NÃO FOR, IRÁ ALTERAR A QUANTIDADE !", "AVISO!", MessageBoxButtons.YesNo, MessageBoxIcon.Question).Equals(DialogResult.Yes))
         {
             (new frmResultado(this.listaProdutos)).ShowDialog();
         }
         else
         {
             (new frmResultado(this.listaProdutos)).ShowDialog();
             foreach (produto item in this.listaProdutos)
             {
                 using (Entities ef = new Entities())
                 {
                     produto pr = ef.produtos.Find(item.PRid);
                     ef.alterarProduto(
                         item.PRid,
                         item.PRnome,
                         item.PRpeso,
                         item.PRlargura,
                         item.PRaltura,
                         item.PRprofundidade,
                         usuarioLogado.USid,
                         pr.PRquantidade - item.PRquantidade
                         );
                 }
             }
         }
         this.CarregarGridAdd();
     }
 }