protected void ButtonShare_Click(object sender, EventArgs e)
        {
            if (DropDownListPerido.SelectedValue != Pesquisa.PERIODO_INFORMAR)
            {
                Response.Write("<script>alert('Informe o período com mês e ano.')</script>");
                return;
            }

            DataTable dt = Session["pesquisa0"] as DataTable;

            if (dt == null || dt.Rows.Count == 0)
            {
                Response.Write("<script>alert('Faça a pesquisa.')</script>");
                return;
            }

            ParametrosShare parametros = new ParametrosShare();

            parametros.Cargo         = DropDownListGrupo.SelectedValue;
            parametros.Agrupamento   = DropDownListAgrupamento.SelectedValue;
            parametros.Parlamentares = DropDownListParlamentar.SelectedItems();
            parametros.Despesas      = DropDownListDespesa.SelectedItems();
            parametros.Fornecedores  = txtFornecedor.Text;
            parametros.Partidos      = DropDownListPartido.SelectedItems();
            parametros.Ufs           = DropDownListUF.SelectedItems();
            parametros.MesInicial    = Convert.ToInt32(DropDownListMesInicial.SelectedValue);
            parametros.AnoInicial    = Convert.ToInt32(DropDownListAnoInicial.SelectedValue);
            parametros.MesFinal      = Convert.ToInt32(DropDownListMesFinal.SelectedValue);
            parametros.AnoFinal      = Convert.ToInt32(DropDownListAnoFinal.SelectedValue);

            DbShare.Incluir(parametros);

            LabelMaximo.InnerText = "http://ops.net.br/PesquisaInicio.aspx?IdShare=" + parametros.Id.ToString();
            LabelMaximo.Visible   = true;
        }
        private void Pesquisar()
        {
            if (mIdShare > 0)
            {
                ParametrosShare parametros = DbShare.Carregar(mIdShare);

                if (parametros == null)
                {
                    return;
                }

                DropDownListGrupo.SelectedValue       = parametros.Cargo;
                DropDownListAgrupamento.SelectedValue = parametros.Agrupamento;
                DropDownListPerido.SelectedValue      = Pesquisa.PERIODO_INFORMAR;
                DropDownListParlamentar.SelectedItems(parametros.Parlamentares);
                DropDownListDespesa.SelectedItems(parametros.Despesas);
                txtFornecedor.Text = parametros.Fornecedores.Split('|')[0];
                DropDownListPartido.SelectedItems(parametros.Partidos);
                DropDownListUF.SelectedItems(parametros.Ufs);
                DropDownListMesInicial.SelectedValue = parametros.MesInicial.ToString("00");
                DropDownListAnoInicial.SelectedValue = parametros.AnoInicial.ToString("00");
                DropDownListMesFinal.SelectedValue   = parametros.MesFinal.ToString("00");
                DropDownListAnoFinal.SelectedValue   = parametros.AnoFinal.ToString("00");
            }

            if (CheckBoxSepararMes.Checked == true && DropDownListPerido.SelectedValue == Pesquisa.PERIODO_INFORMAR)
            {
                DateTime dt1 = new DateTime(Convert.ToInt32(DropDownListAnoInicial.SelectedValue), Convert.ToInt32(DropDownListMesInicial.SelectedValue), 1);
                DateTime dt2 = new DateTime(Convert.ToInt32(DropDownListAnoFinal.SelectedValue), Convert.ToInt32(DropDownListMesFinal.SelectedValue), 1);

                if ((Convert.ToInt32(DropDownListMesFinal.SelectedValue) - Convert.ToInt32(DropDownListMesInicial.SelectedValue) + 1) + 12 * (Convert.ToInt32(DropDownListAnoFinal.SelectedValue) - Convert.ToInt32(DropDownListAnoInicial.SelectedValue)) > 24)
                {
                    Response.Write("<script>alert('Período informado é grande demais para separar os meses. Informo no máximo 24 meses.')</script>");
                    return;
                }
            }

            //HiddenFieldGrupo.Value = DropDownListGrupo.SelectedValue;
            //HiddenFieldAgrupamentoAtual.Value = DropDownListAgrupamento.SelectedValue;

            var lstParlamentar = String.Join(",", DropDownListParlamentar.Items.Cast <ListItem>().Where(i => i.Selected).Select(i => i.Value));
            var lstDespesa     = String.Join(",", DropDownListDespesa.Items.Cast <ListItem>().Where(i => i.Selected).Select(i => i.Value));
            var lstUF          = String.Join(",", DropDownListUF.Items.Cast <ListItem>().Where(i => i.Selected).Select(i => i.Value));
            var lstPartido     = String.Join(",", DropDownListPartido.Items.Cast <ListItem>().Where(i => i.Selected).Select(i => i.Value));

            switch (DropDownListGrupo.SelectedValue)
            {
            case GRUPO_DEPUTADO_FEDERAL:
                Pesquisa pesquisa = new Pesquisa();
                pesquisa.Carregar(GridViewResultado,
                                  HttpContext.Current.User.Identity.Name,
                                  "",
                                  DropDownListPerido.SelectedValue,
                                  DropDownListAgrupamento.SelectedValue,
                                  CheckBoxSepararMes.Checked,
                                  DropDownListAnoInicial.SelectedValue,
                                  DropDownListMesInicial.SelectedValue,
                                  DropDownListAnoFinal.SelectedValue,
                                  DropDownListMesFinal.SelectedValue,
                                  lstParlamentar,
                                  lstDespesa,
                                  txtFornecedor.Text,
                                  lstUF,
                                  lstPartido,
                                  ViewState["ChavePesquisa"].ToString());
                break;

            case GRUPO_SENADOR:
                PesquisaSenadores pesquisaSenadores = new PesquisaSenadores();
                pesquisaSenadores.Carregar(GridViewResultado,
                                           HttpContext.Current.User.Identity.Name,
                                           "",
                                           DropDownListPerido.SelectedValue,
                                           DropDownListAgrupamento.SelectedValue,
                                           CheckBoxSepararMes.Checked,
                                           DropDownListAnoInicial.SelectedValue,
                                           DropDownListMesInicial.SelectedValue,
                                           DropDownListAnoFinal.SelectedValue,
                                           DropDownListMesFinal.SelectedValue,
                                           lstParlamentar,
                                           lstDespesa,
                                           txtFornecedor.Text,
                                           lstUF,
                                           lstPartido,
                                           ViewState["ChavePesquisa"].ToString());
                break;
            }

            Session["pesquisa0"]       = GridViewResultado.DataSource;
            Session["SortDirection0"]  = "DESC";
            Session["SortExpression0"] = "Valor Total";

            if (GridViewResultado.Rows.Count == 1000)
            {
                LabelMaximo.InnerText = "O resultado está limitado a 1.000 registros para evitar sobrecarga.";
                LabelMaximo.Visible   = true;
            }
            else
            {
                LabelMaximo.InnerText = "";
                LabelMaximo.Visible   = false;
            }
        }