Пример #1
0
        private void btnGerar_Click(object sender, EventArgs e)
        {
            if (cmbMaterialCor.SelectedItem == null)
            {
                MessageBox.Show("O campo Material / Cor deve ser preenchido");
                return;
            }

            if (string.IsNullOrEmpty(txtRef.Text))
            {
                MessageBox.Show("O campo Referência deve ser preenchido");
                return;
            }

            Etiqueta etiqueta;
            var      referencia  = BuscarReferencia(txtRef.Text);
            var      materialCor = (MaterialCor)cmbMaterialCor.SelectedItem;

            if (rbMasculino.Checked)
            {
                etiqueta = new Etiqueta("M", referencia, materialCor);

                for (int i = 36; i < 51; i++)
                {
                    string qtdNumero = ((TextBox)pnlMasc.Controls[$"txt{i}Masc"]).Text;

                    if (int.TryParse(qtdNumero, out int quantidade) && quantidade > 0)
                    {
                        etiqueta.AdicionarNumeracao(i, quantidade);
                    }
                }
            }
            else if (rbInfantil.Checked)
            {
                etiqueta = new Etiqueta("I", referencia, materialCor);

                for (int i = 25; i < 37; i++)
                {
                    string qtdNumero = ((TextBox)pnlInf.Controls[$"txt{i}Inf"]).Text;

                    if (int.TryParse(qtdNumero, out int quantidade) && quantidade > 0)
                    {
                        etiqueta.AdicionarNumeracao(i, quantidade);
                    }
                }
            }
            else
            {
                etiqueta = new Etiqueta("F", referencia, materialCor);

                for (int i = 33; i < 41; i++)
                {
                    string qtdNumero = ((TextBox)pnlFem.Controls[$"txt{i}Fem"]).Text;

                    if (int.TryParse(qtdNumero, out int quantidade) && quantidade > 0)
                    {
                        etiqueta.AdicionarNumeracao(i, quantidade);
                    }
                }
            }

            try
            {
                _geradorDeEtiqueta.Gerar(etiqueta);
                MessageBox.Show($"Etiquetas na fila de impressão.");
            }
            catch (Exception ex)
            {
                MessageBox.Show($"Erro ao imprimir \n {ex}");
            }
        }