public void GerarRelatorio()
        {
            try
            {
                string sDataInicial         = PontoBr.Conversoes.Data.ConverterDataFormatoDDMMAAAAComBarraParaAAAAMMDDComBarra(datDataInicial.Value.ToString("dd/MM/yyyy"));
                string sDataFinal           = PontoBr.Conversoes.Data.ConverterDataFormatoDDMMAAAAComBarraParaAAAAMMDDComBarra(datDataFinal.Value.ToString("dd/MM/yyyy")) + " 23:59:59";
                int    iIDOperadorAuditoria = Convert.ToInt32(comboOperador.SelectedValue);

                string      sCampanha    = "";
                campanhaCTL CCampanha    = new campanhaCTL();
                string      sIDCampanhas = "";
                foreach (object itemChecked in chkCampanha.CheckedItems)
                {
                    if (sIDCampanhas != "")
                    {
                        sIDCampanhas = sIDCampanhas + ",";
                    }

                    sIDCampanhas = sIDCampanhas + CCampanha.RetornarIDCampanha(itemChecked.ToString());

                    if (sCampanha != "")
                    {
                        sCampanha = sCampanha + "; ";
                    }

                    sCampanha = sCampanha + itemChecked.ToString();
                }

                string sCamposVenda = "";
                foreach (object itemChecked in chkCampos.CheckedItems)
                {
                    if (sCamposVenda != "")
                    {
                        sCamposVenda = sCamposVenda + ",";
                    }

                    sCamposVenda = sCamposVenda + "'" + itemChecked.ToString() + "'";
                }

                string sCamposProspectExtra = "";
                string sCamposProspectFixo  = "";
                foreach (object itemChecked in chkCamposProspect.CheckedItems)
                {
                    if (itemChecked.ToString().IndexOf(" (campo fixo)") > -1)
                    {
                        if (sCamposProspectFixo != "")
                        {
                            sCamposProspectFixo = sCamposProspectFixo + ",";
                        }

                        sCamposProspectFixo = sCamposProspectFixo + "p.[" + itemChecked.ToString().Replace(" (campo fixo)", "") + "]";
                        sCamposProspectFixo = sCamposProspectFixo.Replace("p.[CPF/CNPJ]", "p.[CPF_CNPJ] [CPF / CNPJ]");
                    }
                    else
                    {
                        if (sCamposProspectExtra != "")
                        {
                            sCamposProspectExtra = sCamposProspectExtra + ",";
                        }

                        sCamposProspectExtra = sCamposProspectExtra + "'" + itemChecked.ToString() + "'";
                    }
                }

                //Check Auditoria
                auditoriaCTL CAuditoria   = new auditoriaCTL();
                string       sIDAuditoria = "";
                foreach (object itemChecked in chkAuditoria.CheckedItems)
                {
                    if (sIDAuditoria != "")
                    {
                        sIDAuditoria = sIDAuditoria + ",";
                    }

                    sIDAuditoria = sIDAuditoria + CAuditoria.RetornarIDAuditoria(itemChecked.ToString());

                    if (sIDAuditoria != "")
                    {
                        sIDAuditoria = sIDAuditoria.ToString();
                    }

                    sIDAuditoria = sIDAuditoria.ToString();
                }

                //Se selecionou todos status de auditoria, busca todos (ativos e inativos)
                //DataTable dataTable = CAuditoria.RetornarStatusAuditoria(false);
                //foreach (DataRow dataRow in dataTable.Rows)
                //{
                //    sIDAuditoria += sIDAuditoria != "" ? ", " + dataRow["Cód."] : dataRow["Cód."];
                //}

                relatorioCTL CRelatorio = new relatorioCTL();
                DataTable    dataTable;

                //Se o perfil for Supervisor, exibe todas as vendas.
                //Se for Operador, exibe só as vendas do usuário logado
                if (fLogin.Usuario.Perfil == "Supervisor" || fLogin.Usuario.Perfil == "BackOffice" || fLogin.Usuario.Perfil == "Administrador")
                {
                    dataTable          = CRelatorio.RetornarDadosVendasBackoffice(sDataInicial, sDataFinal, sIDCampanhas, -1, sIDAuditoria, sCamposVenda, sCamposProspectFixo, sCamposProspectExtra, txtTelefone1_filtro.Text, PontoBr.Utilidades.String.RemoverCaracterInvalido(txtNome_filtro.Text), PontoBr.Utilidades.String.RemoverCaracterInvalido(txtCPFCNPJ_filtro.Text), comboDadosVenda.SelectedValue == null ? "-1" : comboDadosVenda.SelectedValue.ToString(), PontoBr.Utilidades.String.RemoverCaracterInvalido(txtTextoDadosVenda.Text), iIDOperadorAuditoria);
                    dgDados.DataSource = dataTable;

                    dgDados.Columns[0].Visible = false;
                    dgDados.Columns[1].Visible = false;
                }
                else
                {
                    dataTable          = CRelatorio.RetornarDadosVendasBackoffice(sDataInicial, sDataFinal, sIDCampanhas, fLogin.Usuario.IDUsuario, sIDAuditoria, sCamposVenda, sCamposProspectFixo, sCamposProspectExtra, txtTelefone1_filtro.Text, PontoBr.Utilidades.String.RemoverCaracterInvalido(txtNome_filtro.Text), PontoBr.Utilidades.String.RemoverCaracterInvalido(txtCPFCNPJ_filtro.Text), comboDadosVenda.SelectedValue == null ? "-1" : comboDadosVenda.SelectedValue.ToString(), PontoBr.Utilidades.String.RemoverCaracterInvalido(txtTextoDadosVenda.Text), iIDOperadorAuditoria);
                    dgDados.DataSource = dataTable;

                    dgDados.Columns[0].Visible = false;
                    dgDados.Columns[1].Visible = false;
                }

                foreach (DataGridViewRow dataGridViewRow in dgDados.Rows)
                {
                    //Verifica as vendas que estão sendo auditadas no momento e coloca coluna em vermelho
                    if (dataGridViewRow.Cells["Backoffice"].Value.ToString().IndexOf("sendo auditada por") > -1)
                    {
                        dataGridViewRow.Cells["Backoffice"].Style.ForeColor = System.Drawing.Color.Red;
                    }

                    //if (Convert.ToInt32( dataGridViewRow.Cells["Mensagem"].Value) == 1)
                    //    dataGridViewRow.Cells["Observação"].Style.ForeColor = System.Drawing.Color.Red;


                    //Verifica o prazo de expiração dos status de auditoria
                    if (dataGridViewRow.Cells["Auditoria"].Value.ToString().IndexOf("(expirando)") > -1)
                    {
                        dataGridViewRow.Cells["Auditoria"].Style.ForeColor = System.Drawing.Color.Orange;
                    }
                    else if (dataGridViewRow.Cells["Auditoria"].Value.ToString().IndexOf("(expirado)") > -1)
                    {
                        dataGridViewRow.Cells["Auditoria"].Style.ForeColor = System.Drawing.Color.Red;
                    }
                }
                dgDados.ClearSelection();
            }
            catch (Exception ex)
            {
                PontoBr.Utilidades.Diversos.ExibirAlertaWindowsForm(ex.Message, "Tabulare Software");
            }
        }
        private void ExportarRelatorio()
        {
            try
            {
                string sDataInicial         = PontoBr.Conversoes.Data.ConverterDataFormatoDDMMAAAAComBarraParaAAAAMMDDComBarra(datDataInicial.Value.ToString("dd/MM/yyyy"));
                string sDataFinal           = PontoBr.Conversoes.Data.ConverterDataFormatoDDMMAAAAComBarraParaAAAAMMDDComBarra(datDataFinal.Value.ToString("dd/MM/yyyy")) + " 23:59:59";
                int    iIDOperadorAuditoria = Convert.ToInt32(comboOperador.SelectedValue);

                string      sCampanha    = "";
                campanhaCTL CCampanha    = new campanhaCTL();
                string      sIDCampanhas = "";
                foreach (object itemChecked in chkCampanha.CheckedItems)
                {
                    if (sIDCampanhas != "")
                    {
                        sIDCampanhas = sIDCampanhas + ",";
                    }

                    sIDCampanhas = sIDCampanhas + CCampanha.RetornarIDCampanha(itemChecked.ToString());

                    if (sCampanha != "")
                    {
                        sCampanha = sCampanha + "; ";
                    }

                    sCampanha = sCampanha + itemChecked.ToString();
                }

                string sCamposVenda = "";
                foreach (object itemChecked in chkCampos.CheckedItems)
                {
                    if (sCamposVenda != "")
                    {
                        sCamposVenda = sCamposVenda + ",";
                    }

                    sCamposVenda = sCamposVenda + "'" + itemChecked.ToString() + "'";
                }

                string sCamposProspectExtra = "";
                string sCamposProspectFixo  = "";
                foreach (object itemChecked in chkCamposProspect.CheckedItems)
                {
                    if (itemChecked.ToString().IndexOf(" (campo fixo)") > -1)
                    {
                        if (sCamposProspectFixo != "")
                        {
                            sCamposProspectFixo = sCamposProspectFixo + ",";
                        }

                        sCamposProspectFixo = sCamposProspectFixo + "p.[" + itemChecked.ToString().Replace(" (campo fixo)", "") + "]";
                        sCamposProspectFixo = sCamposProspectFixo.Replace("p.[CPF/CNPJ]", "p.[CPF_CNPJ] [CPF / CNPJ]");
                    }
                    else
                    {
                        if (sCamposProspectExtra != "")
                        {
                            sCamposProspectExtra = sCamposProspectExtra + ",";
                        }

                        sCamposProspectExtra = sCamposProspectExtra + "'" + itemChecked.ToString() + "'";
                    }
                }

                //Check Auditoria
                auditoriaCTL CAuditoria   = new auditoriaCTL();
                string       sIDAuditoria = "";
                foreach (object itemChecked in chkAuditoria.CheckedItems)
                {
                    if (sIDAuditoria != "")
                    {
                        sIDAuditoria = sIDAuditoria + ",";
                    }

                    sIDAuditoria = sIDAuditoria + CAuditoria.RetornarIDAuditoria(itemChecked.ToString());

                    if (sIDAuditoria != "")
                    {
                        sIDAuditoria = sIDAuditoria.ToString();
                    }

                    sIDAuditoria = sIDAuditoria.ToString();
                }

                relatorioCTL CRelatorio = new relatorioCTL();

                //Se o perfil for Supervisor, exibe todas as vendas.
                //Se for Operador, exibe só as vendas do usuário logado
                DataTable dataTable;
                if (fLogin.Usuario.Perfil == "Supervisor" || fLogin.Usuario.Perfil == "BackOffice" || fLogin.Usuario.Perfil == "Administrador")
                {
                    dataTable          = CRelatorio.RetornarDadosVendasBackoffice(sDataInicial, sDataFinal, sIDCampanhas, -1, sIDAuditoria, sCamposVenda, sCamposProspectFixo, sCamposProspectExtra, txtTelefone1_filtro.Text, PontoBr.Utilidades.String.RemoverCaracterInvalido(txtNome_filtro.Text), PontoBr.Utilidades.String.RemoverCaracterInvalido(txtCPFCNPJ_filtro.Text), comboDadosVenda.SelectedValue == null ? "-1" : comboDadosVenda.SelectedValue.ToString(), PontoBr.Utilidades.String.RemoverCaracterInvalido(txtTextoDadosVenda.Text), iIDOperadorAuditoria);
                    dgDados.DataSource = dataTable;

                    dgDados.Columns[0].Visible = false;
                    dgDados.Columns[1].Visible = false;
                }
                else
                {
                    dataTable          = CRelatorio.RetornarDadosVendasBackoffice(sDataInicial, sDataFinal, sIDCampanhas, fLogin.Usuario.IDUsuario, sIDAuditoria, sCamposVenda, sCamposProspectFixo, sCamposProspectExtra, txtTelefone1_filtro.Text, PontoBr.Utilidades.String.RemoverCaracterInvalido(txtNome_filtro.Text), PontoBr.Utilidades.String.RemoverCaracterInvalido(txtCPFCNPJ_filtro.Text), comboDadosVenda.SelectedValue == null ? "-1" : comboDadosVenda.SelectedValue.ToString(), PontoBr.Utilidades.String.RemoverCaracterInvalido(txtTextoDadosVenda.Text), iIDOperadorAuditoria);
                    dgDados.DataSource = dataTable;

                    dgDados.Columns[0].Visible = false;
                    dgDados.Columns[1].Visible = false;
                }

                foreach (DataGridViewRow dataGridViewRow in dgDados.Rows)
                {
                    //Verifica as vendas que estão sendo auditadas no momento e coloca coluna em vermelho
                    if (dataGridViewRow.Cells["Backoffice"].Value.ToString().IndexOf("sendo auditada por") > -1)
                    {
                        dataGridViewRow.Cells["Backoffice"].Style.ForeColor = System.Drawing.Color.Red;
                    }

                    //Verifica o prazo de expiração dos status de auditoria
                    if (dataGridViewRow.Cells["Auditoria"].Value.ToString().IndexOf("(expirando)") > -1)
                    {
                        dataGridViewRow.Cells["Auditoria"].Style.ForeColor = System.Drawing.Color.Orange;
                    }
                    else if (dataGridViewRow.Cells["Auditoria"].Value.ToString().IndexOf("(expirado)") > -1)
                    {
                        dataGridViewRow.Cells["Auditoria"].Style.ForeColor = System.Drawing.Color.Red;
                    }
                }
                dgDados.ClearSelection();

                dataTable.Columns.Remove("IDVenda");
                dataTable.Columns.Remove("IDCampanha");
                string sEnderecoArquivo = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\" + "Tabulare - Auditoria.xls";
                dataTable.TableName = "Tabulare";
                dataTable.WriteXml(sEnderecoArquivo, System.Data.XmlWriteMode.IgnoreSchema);

                MessageBox.Show("Dados exportados com sucesso!\n\nO arquivo encontra-se na Área de Trabalho.", "Tabulare");
            }
            catch (Exception ex)
            {
                PontoBr.Utilidades.Diversos.ExibirAlertaWindowsForm(ex.Message, "Tabulare Software");
            }
        }
        public DataTable GerarRelatorio()
        {
            DataTable dataTable = new DataTable();

            try
            {
                string sDataInicial = PontoBr.Conversoes.Data.ConverterDataFormatoDDMMAAAAComBarraParaAAAAMMDDComBarra(datDataInicial.Value.ToString("dd/MM/yyyy"));
                string sDataFinal   = PontoBr.Conversoes.Data.ConverterDataFormatoDDMMAAAAComBarraParaAAAAMMDDComBarra(datDataFinal.Value.ToString("dd/MM/yyyy")) + " 23:59:59";
                int    iIDOperador  = Convert.ToInt32(comboOperador.SelectedValue);
                int    iIDCampanha  = Convert.ToInt32(comboCampanha.SelectedValue);

                if (usuarioCTL.bTestandoSistema)
                {
                    sDataInicial = "2000/01/01";
                    sDataFinal   = "2033/01/01";
                }

                string sOpcao = "";
                foreach (object itemChecked in chkOpcao.CheckedItems)
                {
                    sOpcao += sOpcao != "" ? ";" + itemChecked.ToString() : itemChecked.ToString();
                }
                string[] sColunas = sOpcao.Split(';');

                //Check Auditoria
                auditoriaCTL CAuditoria   = new auditoriaCTL();
                string       sIDAuditoria = "";
                foreach (object itemChecked in chkAuditoria.CheckedItems)
                {
                    if (sIDAuditoria != "")
                    {
                        sIDAuditoria = sIDAuditoria + ",";
                    }

                    sIDAuditoria = sIDAuditoria + CAuditoria.RetornarIDAuditoria(itemChecked.ToString());

                    if (sIDAuditoria != "")
                    {
                        sIDAuditoria = sIDAuditoria.ToString();
                    }

                    sIDAuditoria = sIDAuditoria.ToString();
                }

                relatorioCTL CRelatorio = new relatorioCTL();

                dataTable = CRelatorio.RetornarQuantitativoDadosVenda(iIDOperador, iIDCampanha, sIDAuditoria, sDataInicial, sDataFinal, sColunas);
                dataTable.Columns.Add("TOTAL");

                foreach (DataRow dataRow in dataTable.Rows)
                {
                    int iTotal = 0;
                    for (int iColuna = 1; iColuna < dataTable.Columns.Count - 1; iColuna++)
                    {
                        iTotal += Convert.ToInt32(dataRow[iColuna].ToString());
                    }
                    dataRow[dataTable.Columns.Count - 1] = iTotal.ToString();
                }
                dgDados.DataSource = dataTable;
            }
            catch (Exception ex)
            {
                PontoBr.Utilidades.Diversos.ExibirAlertaWindowsForm(ex.Message, "Tabulare Software");
            }
            return(dataTable);
        }