public override void Page_Load(object sender, EventArgs e)
        {
            base.Page_Load(sender, e);

            //Recupera usuário e valida se  o mesmo é médico e pode ver esta página
            user = Session["usuarioLogado"] as Usuario;

            if (user != null)
            {
                if (user.TipoUsuario.DescricaoTipoUsuario.Equals("Administrador"))
                {
                    //Habilita o usuário para ver o combobox.
                    cmbMedicos.Visible = true;
                    lblMedico.Visible = true;

                    //Efetua o bind no ComboBox
                    DataTable dtMedicos = new MedicorBU().RetornaMedicos();
                    cmbMedicos.DataSource = dtMedicos;
                    cmbMedicos.ValueField = "CD_MEDICOR";
                    cmbMedicos.TextField = "DS_NOME";

                    //Bind do combo de médicos
                    cmbMedicos.DataBind();
                }
                else
                {
                    tdMedicos1.Visible = false;
                    tdMedicos2.Visible = false;
                }

                //Valida o usuário
                if (user.TipoUsuario.DescricaoTipoUsuario != "Administrador" && !user.IsMedico)
                {
                    Response.Redirect("../AcessoNegado.htm", true);
                }
            }
            else
            {
                //Desloga e manda para a página de login
                this.DeslogaUsuario();
            }
        }
        protected void btnGerarRelatório_Click(object sender, EventArgs e)
        {
            int cdMedico = -1;

            if (user.IsMedico)
            {
                cdMedico = new MedicorBU().RetornaMedicoByCpf(user.Cpf);
            }
            else if (user.TipoUsuario.DescricaoTipoUsuario.Equals("Administrador"))
            {
                cdMedico = Convert.ToInt32(cmbMedicos.SelectedItem.Value);
            }

            if (!cdMedico.Equals(-1))
            {
                odsTrabalhoMedico.SelectParameters[0].DefaultValue = dteDataInicio.Date.ToString();
                odsTrabalhoMedico.SelectParameters[1].DefaultValue = dteDataFim.Date.ToString();
                odsTrabalhoMedico.SelectParameters[2].DefaultValue = cdMedico.ToString();

                this.gdvResultado.DataBind();

                btnExportarXls.ClientVisible = true;
                btnExportarPDF.ClientVisible = true;
            }
        }
        protected void cbpGridAgenda_Callback(object sender, DevExpress.Web.ASPxClasses.CallbackEventArgsBase e)
        {
            try
            {
                //recupera identificador do médico
                int idMedico = Convert.ToInt32(e.Parameter.Substring(0, e.Parameter.IndexOf("#")).ToString());

                dtAgenda = Convert.ToDateTime(e.Parameter.Substring(e.Parameter.IndexOf("#") + 1));

                //Verifica a existência do id do médico
                if (!idMedico.Equals(0))
                {
                    //Busca as possíveis Jornadas do médico dentro de uma escala
                    Escala escala = new MedicorBU().RetornaEscalaMedico(idMedico, dtAgenda);

                    //significa que a escala não existe para o dia selecionado
                    if (escala.CodigoEscala == 0)
                    {
                        gdvAgenda.SettingsText.EmptyDataRow = "Não existe escala neste dia para o médico selecionado. Confira as escalas disponíveis antes de selecionar uma data.";
                    }

                    //Cria dataset para armazenar os dados
                    ds = new DataSet();
                    dt = new DataTable();

                    dt.Columns.Add("Hora", typeof(string));
                    dt.Columns.Add("Nome", typeof(string));
                    dt.Columns.Add("Telefone", typeof(string));
                    dt.Columns.Add("Convenio", typeof(string));
                    dt.Columns.Add("Servico", typeof(string));
                    dt.Columns.Add("Observacao", typeof(string));
                    dt.Columns.Add("Situacao", typeof(string));

                    //Retorna as consultas do médico no dia indicado
                    dtConsultasMedico = new AgendaBU().RetornaAgendaByDiaByMedico(dtAgenda, idMedico);

                    if (escala.Jornada1 != null)
                    {
                        dt = (DataTable)this.RetornaEscalaJornada(escala.Jornada1, escala.Jornada1, escala.Jornada2, escala.Jornada3, dt);
                    }

                    if (escala.Jornada2 != null)
                    {
                        dt = (DataTable)this.RetornaEscalaJornada(escala.Jornada2, escala.Jornada1, escala.Jornada2, escala.Jornada3, dt);
                    }

                    if (escala.Jornada3 != null)
                    {
                        dt = (DataTable)this.RetornaEscalaJornada(escala.Jornada3, escala.Jornada1, escala.Jornada2, escala.Jornada3, dt);
                    }

                    ds.Tables.Add(dt);

                    this.gdvAgenda.DataSource = ds;
                    this.gdvAgenda.DataBind();
                }
                else
                {
                    ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "alertAgenda", "alert('Selecione um médico e tente novamente!');", true);
                }
            }
            catch (Exception eX)
            {
                throw eX;
            }
        }