Exemple #1
0
        private void bb_imprimir_Click(object sender, EventArgs e)
        {
            if (bsCodBarra.Current != null)
            {
                if (rTerminal.Tp_impetiqueta.Trim().ToUpper().Equals("Z"))
                {
                    if (string.IsNullOrEmpty(rTerminal.Porta_imptick))
                    {
                        MessageBox.Show("Não existe porta configurada no cadastro do terminal <" + rTerminal.Cd_Terminal.Trim() + "-" + rTerminal.Ds_Terminal.Trim() + "> para imprimir etiqueta.",
                                        "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }
                    try
                    {
                        if (rTerminal.Id_layout != decimal.Zero)
                        {
                            List <CamadaNegocio.Diversos.TRegistro_Objeto> obj = new List <CamadaNegocio.Diversos.TRegistro_Objeto>();

                            for (int j = 0; j < bsCodBarra.Count; j++)
                            {
                                if ((bsCodBarra[j] as CamadaDados.Estoque.Cadastros.TRegistro_CodBarra).agregar)
                                {
                                    obj.Add(new CamadaNegocio.Diversos.TRegistro_Objeto()
                                    {
                                        Codigo       = Convert.ToDecimal((bsCodBarra[j] as CamadaDados.Estoque.Cadastros.TRegistro_CodBarra).Cd_produto),
                                        Produto      = (bsCodBarra[j] as CamadaDados.Estoque.Cadastros.TRegistro_CodBarra).Ds_produto.Trim(),
                                        Vl_preco     = (bsCodBarra[j] as CamadaDados.Estoque.Cadastros.TRegistro_CodBarra).Vl_venda,
                                        Cod_barra    = (bsCodBarra[j] as CamadaDados.Estoque.Cadastros.TRegistro_CodBarra).Cd_codbarra,
                                        Qtd_etiqueta = Convert.ToInt32((bsCodBarra[j] as CamadaDados.Estoque.Cadastros.TRegistro_CodBarra).Quantidade.ToString("N0", new System.Globalization.CultureInfo("pt-BR", true)))
                                    });
                                }
                            }


                            CamadaNegocio.Diversos.TCN_CadLayoutEtiqueta.ImpEtiquetaLayout(obj,
                                                                                           rTerminal.Porta_imptick, rTerminal);
                        }
                        else
                        {
                            (bsCodBarra.DataSource as CamadaDados.Estoque.Cadastros.TList_CodBarra).ForEach(p =>
                            {
                                if (p.agregar)
                                {
                                    if (rTerminal.Id_layout != decimal.Zero)
                                    {
                                        int qtd_etiquetas = 1;

                                        qtd_etiquetas = Convert.ToInt32(p.Quantidade);


                                        CamadaNegocio.Diversos.TCN_CadLayoutEtiqueta.ImpEtiquetaLayout(decimal.Parse(p.Cd_produto.SoNumero()),
                                                                                                       p.Ds_produto.Trim(),
                                                                                                       p.Cd_codbarra,
                                                                                                       p.Vl_venda,
                                                                                                       qtd_etiquetas,
                                                                                                       rTerminal.Porta_imptick, rTerminal);
                                    }
                                    else if (rTerminal.Layoutetiqueta.Trim().Equals("1"))
                                    {
                                        TEtiquetaZebra.ImpEtiquetaL1(p.Referencia,
                                                                     p.Ds_produto,
                                                                     p.Cd_codbarra,
                                                                     p.Vl_venda,
                                                                     rTerminal.Porta_imptick);
                                    }
                                    else if (rTerminal.Layoutetiqueta.Trim().Equals("2"))
                                    {
                                        TEtiquetaZebra.ImpEtiquetaL2(p.Cd_produto,
                                                                     p.Ds_produto,
                                                                     p.Vl_venda,
                                                                     rTerminal.Porta_imptick);
                                    }
                                    else if (rTerminal.Layoutetiqueta.Trim().Equals("3"))
                                    {
                                        TEtiquetaZebra.ImpEtiquetaL3(p.Cd_produto,
                                                                     p.Ds_produto,
                                                                     p.Cd_codbarra,
                                                                     p.Vl_venda,
                                                                     rTerminal.Porta_imptick);
                                    }
                                    else if (rTerminal.Layoutetiqueta.Trim().Equals("4"))
                                    {
                                        TEtiquetaZebra.ImpEtiquetaL4(p.Cd_produto + p.Ds_produto,
                                                                     p.Cd_codbarra,
                                                                     Convert.ToInt32(p.Quantidade),
                                                                     rTerminal.Porta_imptick);
                                    }
                                    else if (rTerminal.Layoutetiqueta.Trim().Equals("5"))
                                    {
                                        TEtiquetaZebra.ImpEtiquetaL5(p.Cd_produto + p.Ds_produto,
                                                                     p.Cd_codbarra,
                                                                     p.Vl_venda,
                                                                     Convert.ToInt32(p.Quantidade),
                                                                     rTerminal.Porta_imptick);
                                    }
                                    else if (rTerminal.Layoutetiqueta.Trim().Equals("6"))
                                    {
                                        TEtiquetaZebra.ImpEtiquetaL6(decimal.Parse(p.Cd_produto),
                                                                     p.Ds_produto,
                                                                     p.Cd_codbarra,
                                                                     p.Vl_venda,
                                                                     Convert.ToInt32(p.Quantidade),
                                                                     rTerminal.Porta_imptick);
                                    }
                                }
                            });
                        }
                    }
                    catch (Exception ex)
                    { MessageBox.Show("Erro imprimir etiqueta: " + ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
                }
                else
                if (rTerminal.Tp_impetiqueta.Trim().ToUpper().Equals("A"))
                {
                    try
                    {
                        CamadaDados.Estoque.Cadastros.TList_CodBarra bar = new CamadaDados.Estoque.Cadastros.TList_CodBarra();
                        for (int j = 0; j < bsCodBarra.Count; j++)
                        {
                            if ((bsCodBarra[j] as CamadaDados.Estoque.Cadastros.TRegistro_CodBarra).agregar)
                            {
                                (bsCodBarra[j] as CamadaDados.Estoque.Cadastros.TRegistro_CodBarra).Quantidade = 1;
                                bar.Add((bsCodBarra[j] as CamadaDados.Estoque.Cadastros.TRegistro_CodBarra));
                            }
                        }
                        Relatorio Relatorio = new Relatorio();
                        Relatorio.Altera_Relatorio = Altera_Relatorio;

                        //DADOS PERTINENTES PARA A GERAÇÂO DO RELATORIO
                        Relatorio.Nome_Relatorio = Name;
                        Relatorio.NM_Classe      = Name;


                        BindingSource bs = new BindingSource();
                        bs.DataSource            = bar;
                        Relatorio.DTS_Relatorio  = bs;
                        Relatorio.Nome_Relatorio = "FLanEtiqueta";
                        Relatorio.NM_Classe      = "FLanEtiqueta";
                        Relatorio.Ident          = "FLanEtiqueta";
                        Relatorio.Modulo         = "EST";
                        if (!Altera_Relatorio)
                        {
                            //Chamar tela de gerenciamento de impressao
                            using (FormRelPadrao.TFGerenciadorImpressao fImp = new FormRelPadrao.TFGerenciadorImpressao())
                            {
                                fImp.St_enabled_enviaremail = true;
                                fImp.pMensagem = ("ETIQUETAS PRODUTO GONDULA");
                                if ((fImp.ShowDialog() == DialogResult.OK) || (fImp.pSt_enviaremail))
                                {
                                    Relatorio.Gera_Relatorio("Etiqueta",
                                                             fImp.pSt_imprimir,
                                                             fImp.pSt_visualizar,
                                                             fImp.pSt_enviaremail,
                                                             fImp.pSt_exportPdf,
                                                             fImp.Path_exportPdf,
                                                             fImp.pDestinatarios,
                                                             null,
                                                             ("ETIQUETAS PRODUTO GONDULA"),
                                                             fImp.pDs_mensagem);
                                }
                            }
                        }
                        else
                        {
                            Relatorio.Gera_Relatorio();
                            Altera_Relatorio = false;
                        }
                    }
                    catch { }
                }
                else
                if (rTerminal.Tp_impetiqueta.Trim().ToUpper().Equals("A"))
                {
                    CamadaDados.Estoque.Cadastros.TList_CodBarra lbar = new CamadaDados.Estoque.Cadastros.TList_CodBarra();
                    (bsCodBarra.DataSource as CamadaDados.Estoque.Cadastros.TList_CodBarra).ForEach(p =>
                    {
                        if (p.agregar)
                        {
                            p.Quantidade = 1;
                            lbar.Add(p);
                        }
                    });


                    Relatorio Relatorio = new Relatorio();
                    Relatorio.Altera_Relatorio = Altera_Relatorio;

                    //DADOS PERTINENTES PARA A GERAÇÂO DO RELATORIO
                    Relatorio.Nome_Relatorio = Name;
                    Relatorio.NM_Classe      = Name;
                    Relatorio.Modulo         = Tag.ToString().Substring(0, 3);
                    BindingSource bs = new BindingSource();
                    bs.DataSource           = lbar;
                    Relatorio.DTS_Relatorio = bs;
                    //  Relatorio.Ident = "REL_CODBARRA_CADPRODUTO";// "FLanEtiqueta";
                    Relatorio.Nome_Relatorio = "FLanEtiqueta";
                    Relatorio.NM_Classe      = "FLanEtiqueta";
                    Relatorio.Ident          = "FLanEtiqueta";
                    Relatorio.Modulo         = "EST";



                    if (!Altera_Relatorio)
                    {
                        //Chamar tela de gerenciamento de impressao
                        using (FormRelPadrao.TFGerenciadorImpressao fImp = new FormRelPadrao.TFGerenciadorImpressao())
                        {
                            fImp.St_enabled_enviaremail = true;
                            fImp.pMensagem = ("PRODUTO Nº " + (bsCodBarra.Current as CamadaDados.Estoque.Cadastros.TRegistro_CodBarra).Cd_produto);
                            if ((fImp.ShowDialog() == DialogResult.OK) || (fImp.pSt_enviaremail))
                            {
                                Relatorio.Gera_Relatorio("Etiqueta",
                                                         fImp.pSt_imprimir,
                                                         fImp.pSt_visualizar,
                                                         fImp.pSt_enviaremail,
                                                         fImp.pSt_exportPdf,
                                                         fImp.Path_exportPdf,
                                                         fImp.pDestinatarios,
                                                         null,
                                                         ("PRODUTO Nº " + (bsCodBarra.Current as CamadaDados.Estoque.Cadastros.TRegistro_CodBarra)),
                                                         fImp.pDs_mensagem);
                            }
                        }
                    }
                    else
                    {
                        Relatorio.Gera_Relatorio();
                        Altera_Relatorio = false;
                    }
                }
                else
                {
                    using (FormRelPadrao.TFGerenciadorImpressao fImp = new FormRelPadrao.TFGerenciadorImpressao())
                    {
                        FormRelPadrao.Relatorio Rel = new FormRelPadrao.Relatorio();
                        Rel.Altera_Relatorio = this.Altera_Relatorio;
                        Rel.Nome_Relatorio   = "TFProduto";
                        Rel.NM_Classe        = "TFProduto";
                        Rel.Ident            = "REL_CODBARRA";
                        Rel.Modulo           = "EST";
                        //Numero de copias
                        int copias = Convert.ToInt32(qtde.Value);
                        CamadaDados.Estoque.Cadastros.TList_CodBarra lCod = new CamadaDados.Estoque.Cadastros.TList_CodBarra();

                        (bsCodBarra.DataSource as CamadaDados.Estoque.Cadastros.TList_CodBarra).ForEach(p =>
                        {
                            for (int i = 0; i < p.Quantidade; i++)
                            {
                                lCod.Add(new CamadaDados.Estoque.Cadastros.TRegistro_CodBarra()
                                {
                                    Cd_codbarra = p.Cd_codbarra,
                                    Cd_produto  = p.Cd_produto,
                                    Ds_produto  = p.Ds_produto,
                                    Referencia  = p.Referencia,
                                    Vl_venda    = p.Vl_venda
                                });
                            }
                        });
                        BindingSource bs = new BindingSource();
                        bs.DataSource               = lCod;
                        Rel.DTS_Relatorio           = bs;
                        fImp.St_enabled_enviaremail = true;
                        fImp.pCd_clifor             = string.Empty;
                        fImp.pMensagem              = "IMPRESSÃO ETIQUETA";

                        if (Altera_Relatorio)
                        {
                            Rel.Gera_Relatorio(string.Empty,
                                               fImp.pSt_imprimir,
                                               fImp.pSt_visualizar,
                                               fImp.pSt_enviaremail,
                                               fImp.pSt_exportPdf,
                                               fImp.Path_exportPdf,
                                               fImp.pDestinatarios,
                                               null,
                                               "IMPRESSÃO ETIQUETA",
                                               fImp.pDs_mensagem);
                            Altera_Relatorio = false;
                            bsCodBarra.MoveNext();
                        }
                        else
                        if ((fImp.ShowDialog() == DialogResult.OK) || (fImp.pSt_enviaremail))
                        {
                            Rel.Gera_Relatorio(string.Empty,
                                               fImp.pSt_imprimir,
                                               fImp.pSt_visualizar,
                                               fImp.pSt_enviaremail,
                                               fImp.pSt_exportPdf,
                                               fImp.Path_exportPdf,
                                               null,
                                               fImp.pDestinatarios,
                                               "IMPRESSÃO ETIQUETA",
                                               fImp.pDs_mensagem);
                            bsCodBarra.MoveNext();
                        }
                    }
                }
            }
        }
Exemple #2
0
        private void tmRelEstoque_Click(object sender, EventArgs e)
        {
            if (bsCodBarra.Current != null)
            {
                if (rTerminal.Tp_impetiqueta.Trim().ToUpper().Equals("Z"))
                {
                    if (string.IsNullOrEmpty(rTerminal.Porta_imptick))
                    {
                        MessageBox.Show("Não existe porta configurada no cadastro do terminal <" + rTerminal.Cd_Terminal.Trim() + "-" + rTerminal.Ds_Terminal.Trim() + "> para imprimir etiqueta.",
                                        "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }
                    bsCodBarra.ResetCurrentItem();
                    if (!rTerminal.Id_layout.HasValue ? false : rTerminal.Id_layout != decimal.Zero)
                    {
                        List <CamadaNegocio.Diversos.TRegistro_Objeto> obj = new List <CamadaNegocio.Diversos.TRegistro_Objeto>();

                        for (int j = 0; j < bsCodBarra.Count; j++)
                        {
                            if ((bsCodBarra[j] as TRegistro_CodBarra).agregar)
                            {
                                obj.Add(new CamadaNegocio.Diversos.TRegistro_Objeto()
                                {
                                    Codigo       = Convert.ToDecimal((bsCodBarra[j] as TRegistro_CodBarra).Cd_produto),
                                    Produto      = (bsCodBarra[j] as TRegistro_CodBarra).Ds_produto,
                                    Vl_preco     = (bsCodBarra[j] as TRegistro_CodBarra).Vl_venda,
                                    Cod_barra    = (bsCodBarra[j] as TRegistro_CodBarra).Cd_codbarra,
                                    Qtd_etiqueta = Convert.ToInt32((bsCodBarra[j] as TRegistro_CodBarra).Quantidade.ToString())
                                });
                            }
                        }


                        CamadaNegocio.Diversos.TCN_CadLayoutEtiqueta.ImpEtiquetaLayout(obj,
                                                                                       rTerminal.Porta_imptick, rTerminal);
                    }
                    else
                    {
                        for (int j = 0; j < bsCodBarra.Count; j++)
                        {
                            if ((bsCodBarra[j] as TRegistro_CodBarra).agregar)
                            {
                                if (rTerminal.Layoutetiqueta.Trim().Equals("1"))
                                {
                                    TEtiquetaZebra.ImpEtiquetaL1((bsCodBarra[j] as TRegistro_CodBarra).Referencia,
                                                                 (bsCodBarra[j] as TRegistro_CodBarra).Ds_produto,
                                                                 (bsCodBarra[j] as TRegistro_CodBarra).Cd_codbarra,
                                                                 (bsCodBarra[j] as TRegistro_CodBarra).Vl_venda,
                                                                 rTerminal.Porta_imptick);
                                }
                                else if (rTerminal.Layoutetiqueta.Trim().Equals("2"))
                                {
                                    TEtiquetaZebra.ImpEtiquetaL2((bsCodBarra[j] as TRegistro_CodBarra).Cd_produto,
                                                                 (bsCodBarra[j] as TRegistro_CodBarra).Ds_produto,
                                                                 (bsCodBarra[j] as TRegistro_CodBarra).Vl_venda,
                                                                 rTerminal.Porta_imptick);
                                }
                                else if (rTerminal.Layoutetiqueta.Trim().Equals("3"))
                                {
                                    TEtiquetaZebra.ImpEtiquetaL3((bsCodBarra[j] as TRegistro_CodBarra).Cd_produto,
                                                                 (bsCodBarra[j] as TRegistro_CodBarra).Ds_produto,
                                                                 (bsCodBarra[j] as TRegistro_CodBarra).Cd_codbarra,
                                                                 (bsCodBarra[j] as TRegistro_CodBarra).Vl_venda,
                                                                 rTerminal.Porta_imptick);
                                }
                                else if (rTerminal.Layoutetiqueta.Trim().Equals("4"))
                                {
                                    TEtiquetaZebra.ImpEtiquetaL4((bsCodBarra[j] as TRegistro_CodBarra).Cd_produto + (bsCodBarra[j] as TRegistro_CodBarra).Ds_produto,
                                                                 (bsCodBarra[j] as TRegistro_CodBarra).Cd_codbarra,
                                                                 Convert.ToInt32((bsCodBarra[j] as TRegistro_CodBarra).Quantidade),
                                                                 rTerminal.Porta_imptick);
                                }
                                else if (rTerminal.Layoutetiqueta.Trim().Equals("5"))
                                {
                                    TEtiquetaZebra.ImpEtiquetaL5((bsCodBarra[j] as TRegistro_CodBarra).Cd_produto + (bsCodBarra[j] as TRegistro_CodBarra).Ds_produto,
                                                                 (bsCodBarra[j] as TRegistro_CodBarra).Cd_codbarra,
                                                                 (bsCodBarra[j] as TRegistro_CodBarra).Vl_venda,
                                                                 Convert.ToInt32((bsCodBarra[j] as TRegistro_CodBarra).Quantidade),
                                                                 rTerminal.Porta_imptick);
                                }
                                else if (rTerminal.Layoutetiqueta.Trim().Equals("6"))
                                {
                                    TEtiquetaZebra.ImpEtiquetaL6(decimal.Parse((bsCodBarra[j] as TRegistro_CodBarra).Cd_produto),
                                                                 (bsCodBarra[j] as TRegistro_CodBarra).Ds_produto,
                                                                 (bsCodBarra[j] as TRegistro_CodBarra).Cd_codbarra,
                                                                 (bsCodBarra[j] as TRegistro_CodBarra).Vl_venda,
                                                                 Convert.ToInt32((bsCodBarra[j] as TRegistro_CodBarra).Quantidade),
                                                                 rTerminal.Porta_imptick);
                                }
                            }
                        }
                    };
                }
                else if (rTerminal.Tp_impetiqueta.Trim().ToUpper().Equals("A"))
                {
                    TList_CodBarra bar = new TList_CodBarra();
                    for (int j = 0; j < bsCodBarra.Count; j++)
                    {
                        if ((bsCodBarra[j] as TRegistro_CodBarra).agregar)
                        {
                            bar.Add((bsCodBarra[j] as TRegistro_CodBarra));
                        }
                    }
                    Relatorio Relatorio = new Relatorio();
                    Relatorio.Altera_Relatorio = Altera_Relatorio;

                    //DADOS PERTINENTES PARA A GERAÇÂO DO RELATORIO
                    Relatorio.Nome_Relatorio = Name;
                    Relatorio.NM_Classe      = Name;
                    Relatorio.Modulo         = Tag.ToString().Substring(0, 3);

                    BindingSource bs = new BindingSource();
                    bs.DataSource           = bar;
                    Relatorio.DTS_Relatorio = bs;
                    //  Relatorio.Ident = "REL_CODBARRA_CADPRODUTO";// "FLanEtiqueta";
                    Relatorio.Nome_Relatorio = "FLanEtiqueta";
                    Relatorio.NM_Classe      = "FLanEtiqueta";
                    Relatorio.Ident          = "FLanEtiqueta";
                    Relatorio.Modulo         = "EST";



                    if (!Altera_Relatorio)
                    {
                        //Chamar tela de gerenciamento de impressao
                        using (TFGerenciadorImpressao fImp = new TFGerenciadorImpressao())
                        {
                            fImp.St_enabled_enviaremail = true;
                            fImp.pMensagem = ("ETIQUETAS PRODUTO GONDULA");
                            if ((fImp.ShowDialog() == DialogResult.OK) || (fImp.pSt_enviaremail))
                            {
                                Relatorio.Gera_Relatorio("Etiqueta",
                                                         fImp.pSt_imprimir,
                                                         fImp.pSt_visualizar,
                                                         fImp.pSt_enviaremail,
                                                         fImp.pSt_exportPdf,
                                                         fImp.Path_exportPdf,
                                                         fImp.pDestinatarios,
                                                         null,
                                                         ("ETIQUETAS PRODUTO GONDULA"),
                                                         fImp.pDs_mensagem);
                            }
                        }
                    }
                    else
                    {
                        Relatorio.Gera_Relatorio();
                        Altera_Relatorio = false;
                    }
                }
                else if (
                    rTerminal.Tp_impetiqueta.Trim().ToUpper().Equals("N") ||
                    string.IsNullOrEmpty(rTerminal.Tp_impetiqueta.Trim()))
                {
                    using (TFGerenciadorImpressao fImp = new TFGerenciadorImpressao())
                    {
                        Relatorio Rel = new Relatorio();
                        Rel.Altera_Relatorio = Altera_Relatorio;
                        Rel.Nome_Relatorio   = "TFProduto";
                        Rel.NM_Classe        = "TFProduto";
                        Rel.Ident            = "REL_CODBARRA";
                        Rel.Modulo           = "EST";

                        TList_CodBarra lCod = new TList_CodBarra();
                        for (int j = 0; j < bsCodBarra.Count; j++)
                        {
                            for (int i = 0; i < (bsCodBarra[j] as TRegistro_CodBarra).Quantidade; i++)
                            {
                                lCod.Add(new TRegistro_CodBarra()
                                {
                                    Cd_codbarra = (bsCodBarra[j] as TRegistro_CodBarra).Cd_codbarra,
                                    Cd_produto  = (bsCodBarra[j] as TRegistro_CodBarra).Cd_produto,
                                    Ds_produto  = (bsCodBarra[j] as TRegistro_CodBarra).Ds_produto,
                                    Referencia  = (bsCodBarra[j] as TRegistro_CodBarra).Referencia,
                                    Vl_venda    = (bsCodBarra[j] as TRegistro_CodBarra).Vl_venda
                                });
                            }
                        }
                        BindingSource bs = new BindingSource();
                        bs.DataSource     = lCod;
                        Rel.DTS_Relatorio = bs;

                        fImp.St_enabled_enviaremail = true;
                        fImp.pCd_clifor             = string.Empty;
                        fImp.pMensagem = "IMPRESSÃO CODIGO BARRA";

                        if (Altera_Relatorio)
                        {
                            Rel.Gera_Relatorio(string.Empty,
                                               fImp.pSt_imprimir,
                                               fImp.pSt_visualizar,
                                               fImp.pSt_enviaremail,
                                               fImp.pSt_exportPdf,
                                               fImp.Path_exportPdf,
                                               fImp.pDestinatarios,
                                               null,
                                               "IMPRESSÃO CODIGO BARRA",
                                               fImp.pDs_mensagem);
                            Altera_Relatorio = false;
                        }
                        else
                        if ((fImp.ShowDialog() == DialogResult.OK) || (fImp.pSt_enviaremail))
                        {
                            Rel.Gera_Relatorio(string.Empty,
                                               fImp.pSt_imprimir,
                                               fImp.pSt_visualizar,
                                               fImp.pSt_enviaremail,
                                               fImp.pSt_exportPdf,
                                               fImp.Path_exportPdf,
                                               null,
                                               fImp.pDestinatarios,
                                               "IMPRESSÃO CODIGO BARRA",
                                               fImp.pDs_mensagem);
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("Obrigatorio adicionar codigo de barra para impressão.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }