internal override DtoBase PopulateDto(OracleDataReader reader)
        {
            var profesionalEspecialidades = new ProfesionalEspecialidadesDto();
            //
            if (!reader.IsDBNull(_ordPepId)) { profesionalEspecialidades.PepId = reader.GetInt32(_ordPepId); }
            //
            if (!reader.IsDBNull(_ordPepProId)) { profesionalEspecialidades.PepProId = reader.GetInt32(_ordPepProId); }
            //
            if (!reader.IsDBNull(_ordPepEcpId)) { profesionalEspecialidades.PepEpcId = reader.GetInt32(_ordPepEcpId); }
            // IsNew
            profesionalEspecialidades.IsNew = false;

            return profesionalEspecialidades;
        }
        private void CargarDatosPantalla(ProfesionalDto profesional)
        {
            #region  Persona ----------------------------------------

            lblPsnId.Text = profesional.PsnId.ToString();

            txtDocumento.Value = profesional.PsnNroDcto;
            txtNombre.Value = profesional.PsnNombre;
            txtApellido.Value = profesional.PsnApellido;
            txtFecNac.Value = profesional.PsnFechaNac;
            txtTel.Value = profesional.PsnTelefono;
            txtDire.Value = profesional.PsnDomicilio;
            txtMail.Value = profesional.PsnEmail;
            switch (profesional.PsnSexo)
            {
                case "M":
                    rbM.Checked = true;
                    rbF.Checked = false;
                    break;
                case "F":
                    rbM.Checked = false;
                    rbF.Checked = true;
                    break;
            }

            #endregion

            #region  Profesional ------------------------------------

            lblProId.Text = profesional.ProId.ToString();

            #endregion

            #region Especialidad ---------------------------

            for (var i = 0; i < arregloCheckBoxs.Count(); i++)
            {
                arregloCheckBoxs[i].Checked = false;
            }

            var listaespecialPeorfesional = ManagerEspecialidades.ListEspecialidadProfesional(profesional.ProId);
            for (var i = 0; i < arregloCheckBoxs.Count(); i++)
            {
                foreach (var le in listaespecialPeorfesional)
                {
                    var varEsp = arregloCheckBoxs[i].ID;
                    varEsp = varEsp.Substring(varEsp.Length - 2, 2);

                    if (Convert.ToInt32(varEsp) == le.EspId)
                    {
                        arregloCheckBoxs[i].Checked = true;

                        var especial = new ProfesionalEspecialidadesDto();
                        especial.PepEpcId = Convert.ToInt32(varEsp);
                        listaEspecialidades.Add(especial);
                    }
                }
            }

            #endregion

            #region Matricula --------------------------------------
            try
            {
                MatriculaIniFila();
                var dtMat = (DataTable)ViewState["DadaTableMat"];
                var listaMat = ManagerProfesionalMatriculas.ListProfesionalMatricula(profesional.ProId);
                var dtCurrentTable = (DataTable)ViewState["DadaTableMat"];
                foreach (var lm in listaMat)
                {
                    DataRow drCurrentRow;
                    drCurrentRow = dtCurrentTable.NewRow();

                    drCurrentRow["PMT_MTTID"] = lm.PmtMttId;
                    drCurrentRow["MTTDESCRIPCION"] = lm.MttDescripcion;
                    if (!string.IsNullOrEmpty(lm.PmtNro))
                    {
                        drCurrentRow["PMTNRO"] = lm.PmtNro;
                    }
                    else
                    {
                        drCurrentRow["PMTNRO"] = "0";
                    }
                    dtCurrentTable.Rows.Add(drCurrentRow);
                    ViewState["DadaTableMat"] = dtCurrentTable;
                }
                gvMat.DataSource = dtMat;
                gvMat.DataBind();
            }
            catch (Exception e)
            {
                var script = "showAlert('Error al cargar Matrícula','2');";
                ScriptManager.RegisterStartupScript(this, typeof(Page), "showAlert", script, true);
            }
            #endregion

            #region Agenda -----------------------------------------
            try
            {
                AgendaIniFila();
                var dtAge = (DataTable)ViewState["DataTableAge"];
                var listaAge = ManagerAgendas.ListAgendaProfesional(profesional.ProId);
                var dtCurrentTable = (DataTable)ViewState["DataTableAge"];
                foreach (var la in listaAge)
                {
                    DataRow drCurrentRow;
                    drCurrentRow = dtCurrentTable.NewRow();

                    drCurrentRow[1] = la.AgeDiaId;
                    drCurrentRow[2] = la.DiaDescripcion;
                    drCurrentRow[3] = la.AgeHoraDesde;
                    drCurrentRow[4] = la.AgeHoraHasta;

                    dtCurrentTable.Rows.Add(drCurrentRow);
                    ViewState["DataTableAge"] = dtCurrentTable;
                }
                gvAgenda.DataSource = dtAge;
                gvAgenda.DataBind();
            }
            catch (Exception e)
            {
                var script = "showAlert('Error al cargar Agenda','2');";
                ScriptManager.RegisterStartupScript(this, typeof(Page), "showAlert", script, true);
            }
            #endregion
        }
 protected void CheckBox_CheckedChanged(object sender, EventArgs e)
 {
     var chk = (CheckBox)sender;
     chk.ID = ((CheckBox)sender).ClientID;
     var especial = new ProfesionalEspecialidadesDto();
     var varEsp = chk.ID;
     varEsp = varEsp.Substring(varEsp.Length - 2, 2);
     especial.PepEpcId = Convert.ToInt32(varEsp);
     if (chk.Checked)
     {
         var flag = new int();
         flag = 0;
         if (listaEspecialidades == null)
         {
             listaEspecialidades.Add(especial);
         }
         else
         {
             foreach (ProfesionalEspecialidadesDto especialidad in listaEspecialidades)
             {
                 if (especialidad.PepEpcId == especial.PepEpcId)
                 {
                     flag = 1;
                 }
             }
             if (flag == 0)
             {
                 listaEspecialidades.Add(especial);
             }
         }
     }
     else
     {
         foreach (ProfesionalEspecialidadesDto especialidad in listaEspecialidades)
         {
             if (especialidad.PepEpcId == especial.PepEpcId)
             {
                 listaEspecialidades.Remove(especial);
                 break;
             }
         }
     }
 }