protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
    {
        CDataService dados = new CDataService("controleAtas");
        SqlDataReader dr = dados.SelectSqlReader("Select * from usuarios where login = "******" and senha = " + Util.SQLString(Login1.Password));
        if (dr.Read())
        {
            Session["id"] = dr["id"].ToString();
            Session["admin"] = dr["admin"].ToString();
            e.Authenticated = true;

            if (Session["page"] != null)
            {
                string forward = Session["page"].ToString();
                Session["page"] = null;
                Response.Redirect(forward);
            }
            else
            {
                Response.Redirect("Inicio.aspx");
            }
        }
        else
        {
            Session["id"] = "";
            Session["admin"] = "";
            e.Authenticated = false;
        }

        dr.Close();
        dados.CloseDataSource();
    }
    protected void Button7_Click(object sender, EventArgs e)
    {
        CDataService dados = new CDataService("controleAtas");

        // Verificar senha atual caso não seja Admin
        if (Session["admin"] != null && "False".Equals(Session["admin"].ToString()))
        {
            SqlDataReader dr = dados.SelectSqlReader("Select senha from usuarios where id = " + Session["id"].ToString());
            if (dr.Read())
            {
                if (!TxtSenha.Text.Equals(dr["senha"].ToString()))
                {
                    dr.Close();
                    dados.CloseDataSource();
                    Response.Write("<script>alert('A Senha Atual está incorreta. Tente novamente!')</script>");
                    return;
                }
            }
            dr.Close();
        }

        // Verificar novas senhas
        if (!TxtNovaSenha.Text.Equals(TxtNovaSenha2.Text))
        {
            dados.CloseDataSource();
            Response.Write("<script>alert('A nova senha está diferente da confirmação de senha. Tente novamente!')</script>");
            return;
        }

        try
        {
            string sql = "update usuarios set senha = " + Util.SQLString(TxtNovaSenha.Text) +
                    " where id = ";

            // Se é administrador
            if (Session["admin"] != null && "True".Equals(Session["admin"].ToString()))
            {
                sql += listNomes.SelectedValue;
            }
            else
            {
                sql += Session["id"].ToString();
            }

            dados.UpdateSQLData(sql);

            Response.Write("<script>alert('Senha Atualizada com Sucesso!')</script>");
        }
        catch (Exception ex)
        {
            Response.Write("<script>alert('Erro ao tentar atualizar a senha. Contate o responsável pelo sistema!')</script>");
        }
        finally
        {
            dados.CloseDataSource();
        }
    }
 protected void listNomes_SelectedIndexChanged(object sender, EventArgs e)
 {
     CDataService dados = new CDataService("controleAtas");
     SqlDataReader dr = dados.SelectSqlReader("Select * from usuarios where id = " + listNomes.SelectedValue);
     if (dr.Read())
     {
         txtLogin.Text = dr["login"].ToString().Trim();
         txtEmail.Text = dr["email"].ToString().Trim();
     }
     dr.Close();
     dados.CloseDataSource();
 }
    protected void DataBind(int pagina)
    {
        CDataService dados = new CDataService("controleAtas");
        string sql = "";

        if (nome == "")
        {
            sql = "SELECT id, nome, email, admin FROM Usuarios Order by 2";
        }
        else
        {
            sql = "SELECT id, nome, email, admin FROM Usuarios WHERE nome like'" + nome + "%' Order by 2";
        }

        GridView1.DataSource = dados.SelectSqlData(sql);
        GridView1.PageIndex = pagina;
        GridView1.DataBind();
        dados.CloseDataSource();
    }
    protected void Button7_Click(object sender, EventArgs e)
    {
        CDataService dados = new CDataService("controleAtas");

        try
        {
            dados.OpenDataSource();

            if (id == "")
            {
                string sql = "INSERT INTO usuarios (nome,login,senha,email,admin) values";
                sql = sql + "(" + Util.SQLString(txtNome.Text) + "," +
                    Util.SQLString(txtLogin.Text) + "," +
                    Util.SQLString(TxtSenha.Text) + "," +
                    Util.SQLString(txtEmail.Text) + "," +
                    Util.SQLString(chkAdmin.Checked.ToString()) + ")";
                id = dados.InsertSqlData(sql).ToString();

                Response.Write("<script>alert('Cadastro Realizado com Sucesso!');document.location.href='usuarios.aspx?cod=" + id + "';</script>");
            }
            else
            {
                string sql = "update usuarios set nome = " +
                    Util.SQLString(txtNome.Text) + ",login="******",email=" +
                    Util.SQLString(txtEmail.Text) + ",admin=" +
                    Util.SQLString(chkAdmin.Checked.ToString()) +
                    " where id = " + id;
                dados.UpdateSQLData(sql);

                Response.Write("<script>alert('Cadastro Atualizado com Sucesso!')</script>");
                preencher();
            }
        }
        catch
        {
            Response.Write("<script>alert('Não foi possível realizar a operação, favor entre em contato com o responsável pelo sistema!')</script>");
        }
        finally
        {
            dados.CloseDataSource();
        }
    }
    protected void BtExcluir_Click(object sender, EventArgs e)
    {
        CDataService dados = new CDataService("controleAtas");

        try
        {
            dados.OpenDataSource();
            dados.DeleteSQLData("delete from usuarios where id =" + id);

            Response.Write("<script>alert('Cadastro Excluído com Sucesso!');document.location.href='Usuarios.aspx';</script>");
        }
        catch
        {
            Response.Write("<script>alert('Não foi possível realizar a operação, favor entre em contato com o responsável pelo sistema!')</script>");
        }
        finally
        {
            dados.CloseDataSource();
        }
    }
    protected void DataBind(int pagina)
    {
        CDataService dados = new CDataService("controleAtas");
        string sql = "";

        if (dtFim.Text == "" || dtInicio.Text == "")
        {
            sql = " SELECT DISTINCT r.id, convert(varchar(10),datahora,103) as data, assunto, local " +
                  " FROM Reunioes r, Participantes p " +
                  " WHERE r.id = p.idReuniao " +
                  " AND r.dataHora BETWEEN (GETDATE() - 30) AND GETDATE() " +
                  " AND r.excluida = 0 ";
            if (Session["admin"].ToString().Equals("False"))
            {
                sql += "AND p.idUsuario = " + Session["id"].ToString();
            }

            sql += " Order by 2";
        }
        else
        {
            sql = " SELECT DISTINCT r.id, convert(varchar(10),datahora,103) as data, assunto, local " +
                  " FROM Reunioes r, Participantes p " +
                  " WHERE r.id = p.idReuniao " +
                  " AND r.dataHora BETWEEN " + Util.SQLString(dtInicio.SqlData) +
                  " AND " + Util.SQLString(dtFim.SqlData) +
                  " AND r.excluida = 0 ";
            if (Session["admin"].ToString().Equals("False"))
            {
                sql += "AND p.idUsuario = " + Session["id"].ToString();
            }

            sql += " Order by 2";
        }

        GridView1.DataSource = dados.SelectSqlData(sql);
        GridView1.PageIndex = pagina;
        GridView1.DataBind();
        dados.CloseDataSource();
    }
    protected void BtExcluir_Click(object sender, EventArgs e)
    {
        CDataService dados = new CDataService("controleAtas");

        if (idCriador == null || idCriador.Equals(""))
        {
            string sql = " Select * From Reunioes Where id = " + id;
            SqlDataReader dr = dados.SelectSqlReader(sql);
            if (dr.Read())
            {
                idCriador = dr["idCriador"].ToString();
            }
            dados.CloseDataSource();
        }

        if (!idCriador.Equals(Session["id"].ToString()))
        {
            Response.Write("<script>alert('Somente o criador da Reunião pode excluí-la!');</script>");
        }
        else
        {
            try
            {
                dados.OpenDataSource();
                dados.DeleteSQLData("Update Reunioes Set excluida = 1 Where id = " + id);

                Response.Write("<script>alert('Cadastro Excluído com Sucesso!');document.location.href='reunioes.aspx';</script>");
            }
            catch (Exception ex)
            {
                Response.Write("<script>alert('Não foi possível realizar a operação, favor entre em contato com o responsável pelo sistema!')</script>");
            }
            finally
            {
                dados.CloseDataSource();
            }
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.QueryString.HasKeys())
        {
            id = Request["cod"].ToString();
        }
        else
        {
            id = "";
        }
        if (!IsPostBack)
        {
            preencherParticipantes();

            if (id != "")
            {
                preencher();
                CDataService dados = new CDataService("controleAtas");

                string sql = " Select * From Reunioes Where id = " + id;
                SqlDataReader dr = dados.SelectSqlReader(sql);
                if (dr.Read())
                {
                    idCriador = dr["idCriador"].ToString();
                    BtExcluir.Enabled = true;
                    lblCriador.Visible = true;
                    txtCriador.Visible = true;
                }
                dados.CloseDataSource();
            }
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            preencher();

            if (Session["admin"] != null && "True".Equals(Session["admin"].ToString()))
            {
                listNomes.Visible = true;
                txtNome.Visible = false;

                CDataService dados = new CDataService("controleAtas");
                SqlDataReader dr = dados.SelectSqlReader("Select id, nome from usuarios order by nome");

                listNomes.DataSource = dr;
                listNomes.DataValueField = "id";
                listNomes.DataTextField = "nome";
                listNomes.DataBind();

                listNomes.SelectedValue = Session["id"].ToString();

                dr.Close();
                dados.CloseDataSource();
            }
        }
    }
    protected void preencher()
    {
        CDataService dados = new CDataService("controleAtas");
        string sql = " select texto from atas where idreuniao = " + idreuniao;

        SqlDataReader dr = dados.SelectSqlReader(sql);
        if (dr.Read())
        {
            Editor2.Text = dr["texto"].ToString();
        }
        dr.Close();
        dados.CloseDataSource();
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.QueryString.HasKeys())
        {
            idreuniao = Request["cod"].ToString();
        }
        else
        {
            idreuniao = "";
        }

        inicio = "[";
        CDataService dados = new CDataService("controleAtas");
        string sql = " SELECT nome " +
            " FROM Usuarios u " +
            " WHERE id = " + Session["id"].ToString();

        SqlDataReader dr = dados.SelectSqlReader(sql);
        if (dr.Read())
        {
            inicio += dr["nome"].ToString().Trim() + "]";
        }
        dr.Close();
        dados.CloseDataSource();
        inicio += " em (" + DateTime.Today.Day.ToString() + "/" + DateTime.Today.Month.ToString() + "/" + DateTime.Today.Year.ToString() + " " + DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString() + ":" + DateTime.Now.Second.ToString() + ")";

        if (!IsPostBack)
        {
            preencher();
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.QueryString.HasKeys())
        {
            id = Request["cod"].ToString();
        }
        else
        {
            id = "";
        }
        if (!IsPostBack)
        {
            if (id != "")
            {
                TxtSenha.Enabled = false;
                RequiredFieldValidator4.Enabled = false;
                preencher();
                CDataService dados = new CDataService("controleAtas");

                string sql =
                    " Select * From Usuarios Where id = " + id +
                    " and id not in (select idUsuario From Participantes)";

                if (dados.SelectSqlReader(sql).Read())
                {
                    BtExcluir.Enabled = true;
                }
                dados.CloseDataSource();
            }
        }
    }
    protected void preencher()
    {
        CDataService dados = new CDataService("controleAtas");
        string sql =" SELECT r.*,convert(varchar(10),datahora,103) as data, p.idUsuario as usu, u.nome as nomeCriador " +
            " FROM Reunioes r, Participantes p, Usuarios u " +
            " WHERE r.id = p.idReuniao AND " +
            " r.idCriador = u.id AND " +
            " r.id = " + id;
           // Response.Write(sql);
           // Response.End();

        SqlDataReader dr = dados.SelectSqlReader(sql);
        int i = 0;
        while (dr.Read())
        {
            i++;
            if (i == 1)
            {
                txtAssunto.Text = dr["assunto"].ToString().Trim();
                txtLocal.Text = dr["local"].ToString().Trim();
                DtReuniao.Text = dr["data"].ToString().Trim();
                //lblCriador.Visible = true;
                //txtCriador.Visible = true;
                txtCriador.Text = dr["nomeCriador"].ToString().Trim();
            }

            // Marcando os participantes
            //lstParticipantes.Items.FindByValue(dr["usu"].ToString().Trim()).Selected = true;
            CheckBoxList1.Items.FindByValue(dr["usu"].ToString().Trim()).Selected = true;
        }
        dr.Close();
        dados.CloseDataSource();
    }
    protected void salvar(object sender, CommandEventArgs e)
    {
        String texto = "<font color=" + color[int.Parse(Session["id"].ToString())].ToKnownColor().ToString() + ">"
            + inicio + "<br>" + Editor1.Text + "<br></font>";
        Editor2.Text += texto;
        Editor2.Text.Replace("<p>", "");
        Editor2.Text.Replace("</p>", "");
        Editor2.Text.Replace("<div>", "");
        Editor2.Text.Replace("</div>", "");

        CDataService dados = new CDataService("atas");
        SqlDataReader dr = dados.SelectSqlReader("select * from atas where idreuniao = " + idreuniao);
        string sql = "";
        if (dr.HasRows)
        {
            sql = "update atas set texto = " + Util.SQLString(Editor2.Text) + " where idreuniao = " + idreuniao;
        }
        else
        {
            sql = "insert into atas(idreuniao,texto,datahora)values(" + idreuniao + "," + Util.SQLString(Editor2.Text) + ", getdate())";
        }
        dr.Close();
        dados.InsertSqlDataVoid(sql);
    }
    protected void preencherParticipantes()
    {
        CDataService dados = new CDataService("controleAtas");
        string sql =
            " SELECT id, nome FROM Usuarios Order By 2";

        SqlDataReader dr = dados.SelectSqlReader(sql);
        while (dr.Read())
        {
            ListItem li = new ListItem(dr["nome"].ToString().Trim(), dr["id"].ToString());
           // lstParticipantes.Items.Add(li);
            CheckBoxList1.Items.Add(li);
        }
        dr.Close();
        dados.CloseDataSource();
    }
    protected void preencher()
    {
        CDataService dados = new CDataService("controleAtas");
        SqlDataReader dr = dados.SelectSqlReader("Select * from usuarios where id = " + Session["id"].ToString());
        if (dr.Read())
        {
            txtLogin.Text = dr["login"].ToString().Trim();
            txtNome.Text = dr["nome"].ToString().Trim();
            txtEmail.Text = dr["email"].ToString().Trim();

            if (Session["admin"] != null && "True".Equals(Session["admin"].ToString()))
            {
                RequiredFieldValidator1.Enabled = false;
            }
        }
        dr.Close();
        dados.CloseDataSource();
    }
    protected void Button7_Click(object sender, EventArgs e)
    {
        CDataService dados = new CDataService("controleAtas");

        try
        {
            dados.OpenDataSourceTransaction();

            if (id == "")
            {
                string sql = " INSERT INTO Reunioes (assunto,dataHora,local,idCriador) VALUES";
                sql = sql + "(" + Util.SQLString(txtAssunto.Text) + "," +
                    Util.SQLString(DtReuniao.SqlData) + "," +
                    Util.SQLString(txtLocal.Text) + "," +
                    Session["id"].ToString() + ")";
                id = dados.InsertSqlDatatransacao(sql).ToString();

                // Inserindo os participantes da reunião
                for (int i = 0; i <= CheckBoxList1.Items.Count - 1; i++)
                {
                   // ListItem li = lstParticipantes.Items[i];
                   // if (li.Selected)
                   // {
                   //     sql = " INSERT INTO Participantes(idReuniao,idUsuario) " +
                   //         " VALUES(" + id + "," + Util.SQLString(li.Value.ToString()) + ")";
                   //     dados.InsertSqlDatatransacao(sql);
                   // }
                    ListItem li = CheckBoxList1.Items[i];
                    if (li.Selected)
                    {

                        sql = " INSERT INTO Participantes(idReuniao,idUsuario) " +
                            " VALUES(" + id + "," + Util.SQLString(li.Value.ToString()) + ")";
                        dados.InsertSqlDatatransacao(sql);
                    }
                }

                Response.Write("<script>alert('Cadastro Realizado com Sucesso!');document.location.href='reunioes.aspx?cod=" + id + "';</script>");
            }
            else
            {
                string sql = " UPDATE Reunioes SET assunto = " +
                    Util.SQLString(txtAssunto.Text) + ",dataHora=" +
                    Util.SQLString(DtReuniao.SqlData) + ",local=" +
                    Util.SQLString(txtLocal.Text) +
                    " WHERE id = " + id;
                dados.UpdateSQLDatatransacao(sql);

                // Removendo os participantes antigos
                sql = " DELETE FROM Participantes WHERE idReuniao = " + id;
                dados.DeleteSQLDataTransaction(sql);

                // Inserindo os novos participantes da reunião
                for (int i = 0; i <= CheckBoxList1.Items.Count - 1; i++)
                {
                    ListItem li = CheckBoxList1.Items[i];
                    if (li.Selected)
                    {
                        sql = " INSERT INTO Participantes(idReuniao,idUsuario) " +
                            " VALUES(" + id + "," + li.Value.ToString() + ")";
                        dados.InsertSqlDatatransacao(sql);
                    }
                }

                Response.Write("<script>alert('Cadastro Atualizado com Sucesso!')</script>");
            }

            dados.committransacao();
            preencher();
        }
        catch (Exception ex)
        {
            dados.rollbacktransacao();
            Response.Write("<script>alert('Não foi possível realizar a operação, favor entre em contato com o responsável pelo sistema!')</script>");
        }
        finally
        {
            dados.CloseDataSource();
        }
    }
    protected void preencher()
    {
        CDataService dados = new CDataService("controleAtas");
        SqlDataReader dr = dados.SelectSqlReader("Select * from usuarios where id = " + id);
        if (dr.Read())
        {
            txtLogin.Text = dr["login"].ToString().Trim();
            txtNome.Text = dr["nome"].ToString().Trim();
            TxtSenha.Text = dr["senha"].ToString().Trim();
            txtEmail.Text = dr["email"].ToString().Trim();

            if ("True".Equals(dr["admin"].ToString().Trim()))
            {
                chkAdmin.Checked = true;
            }
            else
            {
                chkAdmin.Checked = false;
            }
        }
        dr.Close();
        dados.CloseDataSource();
    }