コード例 #1
0
        //Função de exportar dados
        private void Exportar_Click(object sender, RoutedEventArgs e)
        {
            //Instancia a classe de exportação e o contexto
            DataExporter exportador = new DataExporter();
            ModelSapatos ctx        = new ModelSapatos();

            //Instancia um explorador de arquivos
            Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();

            //Filtro do dialogo
            dlg.Filter = "Excel (.xlsx)|*.xlsx";

            //Verifica qual botão foi clicado para pedir a exportação
            if (sender == exportarPF)
            {
                //Define atributos para o arquivo
                dlg.FileName   = "Relatório de pessoas físicas"; // Nome padrão
                dlg.DefaultExt = ".xlsx";                        // Extensão do arquivo

                //Pega o resultado, se o usuário apertou cancel ou deu continuidade
                Nullable <bool> result = dlg.ShowDialog();

                //Se o usuário selecionou um local ele execulta o metodo
                if (result == true)
                {
                    //Chama o metodo para gerar a lista
                    if (exportador.CriarPlanilhaPF(ctx.pessoasFisicas.ToList(), dlg.FileName) == true)
                    {
                        //Mostra mensagem
                        MessageBox.Show("Planilha gerada com sucesso", "Sucesso", MessageBoxButton.OK);
                    }
                    else
                    {
                        //Mostra mensagem
                        MessageBox.Show("Erro ao gerar planilha", "Erro", MessageBoxButton.OK);
                    }
                }
            }
            else if (sender == exportarPJ)
            {
                //Define atributos para o arquivo
                dlg.FileName   = "Relatório de pessoas jurídicas"; // Nome padrão
                dlg.DefaultExt = ".xlsx";                          // Extensão do arquivo

                //Pega o resultado, se o usuário apertou cancel ou deu continuidade
                Nullable <bool> result = dlg.ShowDialog();

                //Se o usuário selecionou um local ele execulta o metodo
                if (result == true)
                {
                    //Chama o metodo para gerar a lista
                    if (exportador.CriarPlanilhaPJ(ctx.pessoasJuridicas.ToList(), dlg.FileName) == true)
                    {
                        //Mostra mensagem
                        MessageBox.Show("Planilha gerada com sucesso", "Sucesso", MessageBoxButton.OK);
                    }
                    else
                    {
                        //Mostra mensagem
                        MessageBox.Show("Erro ao gerar planilha", "Erro", MessageBoxButton.OK);
                    }
                }
            }
            else if (sender == exportarSapato)
            {
                //Define atributos para o arquivo
                dlg.FileName   = "Relatório de sapatos"; // Nome padrão
                dlg.DefaultExt = ".xlsx";                // Extensão do arquivo

                //Pega o resultado, se o usuário apertou cancel ou deu continuidade
                Nullable <bool> result = dlg.ShowDialog();

                //Se o usuário selecionou um local ele execulta o metodo
                if (result == true)
                {
                    //Chama o metodo para gerar a lista
                    if (exportador.CriarPlanilhaSapato(ctx.sapatos.ToList(), dlg.FileName) == true)
                    {
                        //Mostra mensagem
                        MessageBox.Show("Planilha gerada com sucesso", "Sucesso", MessageBoxButton.OK);
                    }
                    else
                    {
                        //Mostra mensagem
                        MessageBox.Show("Erro ao gerar planilha", "Erro", MessageBoxButton.OK);
                    }
                }
            }
            else if (sender == exportarEstoque)
            {
                //Define atributos para o arquivo
                dlg.FileName   = "Relatório de estoque"; // Nome padrão
                dlg.DefaultExt = ".xlsx";                // Extensão do arquivo

                //Pega o resultado, se o usuário apertou cancel ou deu continuidade
                Nullable <bool> result = dlg.ShowDialog();

                //Se o usuário selecionou um local ele execulta o metodo
                if (result == true)
                {
                    //Chama o metodo para gerar a lista
                    if (exportador.CriarPlanilhaEstoque(ctx.sapatos.ToList(), dlg.FileName) == true)
                    {
                        //Mostra mensagem
                        MessageBox.Show("Planilha gerada com sucesso", "Sucesso", MessageBoxButton.OK);
                    }
                    else
                    {
                        //Mostra mensagem
                        MessageBox.Show("Erro ao gerar planilha", "Erro", MessageBoxButton.OK);
                    }
                }
            }
            else if (sender == exportarVenda)
            {
                //Define atributos para o arquivo
                dlg.FileName   = "Relatório de venda"; // Nome padrão
                dlg.DefaultExt = ".xlsx";              // Extensão do arquivo

                //Pega o resultado, se o usuário apertou cancel ou deu continuidade
                Nullable <bool> result = dlg.ShowDialog();

                //Se o usuário selecionou um local ele execulta o metodo
                if (result == true)
                {
                    //Chama o metodo para gerar a lista
                    if (exportador.CriarPlanilhaVendas(ctx.vendas.ToList(), dlg.FileName) == true)
                    {
                        //Mostra mensagem
                        MessageBox.Show("Planilha gerada com sucesso", "Sucesso", MessageBoxButton.OK);
                    }
                    else
                    {
                        //Mostra mensagem
                        MessageBox.Show("Erro ao gerar planilha", "Erro", MessageBoxButton.OK);
                    }
                }
            }
        }