示例#1
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 BtnExcluirProduto_Click(object sender, EventArgs e)
        {
            try
            {
                if (dgvCadastroEmbalagem.Rows.Count < 1)
                {
                    MessageBox.Show("Não há pacotes/embalagens cadastrados", "AVISO!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                else
                {
                    if (MessageBox.Show("Deseja excluir o pacote ?\nCÓDIGO DO PACOTE: " + dgvCadastroEmbalagem.CurrentRow.Cells[0].Value.ToString()
                                        , "AVISO!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        if (!dgvCadastroEmbalagem.CurrentRow.Cells[0].Value.ToString().Equals(""))
                        {
                            this.idPacote = Convert.ToInt32(dgvCadastroEmbalagem.CurrentRow.Cells[0].Value.ToString());

                            using (Entities ef = new Entities())
                            {
                                pacote pac = ef.pacotes.Find(idPacote);
                                log    l   = new log();
                                l.LOoperacao = "Exclusão do pacote: " + pac.PAid.ToString();
                                l.LOdata     = DateTime.Now;
                                l.USid       = usuarioLogado.USid;


                                ef.logs.Add(l);
                                ef.pacotes.Remove(pac);
                                ef.SaveChanges();
                            }
                            MessageBox.Show("Pacote excluído com sucesso", "SUCESSO!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                        this.CarregarGrid();
                        this.LimparDados();
                        this.CarregarMateriais();
                    }
                }
            }catch (Exception ex)
            {
                MessageBox.Show("Não foi possível excluir", "ERRO!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void CarregarDadosAlterar()
        {
            try{
                using (Entities ef = new Entities())
                {
                    pacote pacotePAlterar = ef.pacotes.Find(this.idPacote);

                    txtAlturaPacote.Text       = pacotePAlterar.PAaltura.ToString();
                    txtLarguraPacote.Text      = pacotePAlterar.PAlargura.ToString();
                    txtPesoPacote.Text         = pacotePAlterar.PApeso.ToString();
                    txtProfundidadePacote.Text = pacotePAlterar.PAprofundidade.ToString();
                    txtQuantidade.Text         = pacotePAlterar.PAquantidade.ToString();
                    txtTipo.Text = pacotePAlterar.PAtipo.ToString();
                    cbMateriais.SelectedIndex = pacotePAlterar.MAid - 1;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Impossível carregar dados" + " " + ex, "AVISO!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }